关键字和保留字
命名
命名规范
- 项目名、包名全小写(aaabbbccc)
- 类名全首字母大写 (Aaabbbccc)
- 变量名、方法名首字母小写其他首字母大写(AaaBbbCcc)
- 常量全大写(AAABBBCCC)
- 命名必须遵守以下规则
- 由26个字母大小写、0-9、下划线、$组成
- 数字不能开头
- 不可以使用关键字和保留字
- 严格区分大小写、不能有空格
统一性
- 公司项目
- 作者名.公司名.项目名.模块名
- 团队项目
- 作者名.团队名.项目名.模块名
其他自定义
基础数据类型:
- 整数:byte、short、int、long
- byte:1字节
-2**7 到 2**7-1
- short:2字节
-2**15 到 2**15-1
- int:4字节
-2*31 到 2**31-1
- long:8字节
-2*63 到 2*63-1
- byte:1字节
- 浮点数:float、double
- float:4字节
(±3.403E38)小数有效7位
- double:8字节
(±-1.798E308)小数有效14位
- float:4字节
- 字符型:char
- char:2字节
(只能保存一个字符)用'' 单引号表示
- ASCII、UTF8、GBK
- char:2字节
- 布尔值:boolean
- true、false
- 整数:byte、short、int、long
- 引用数据类型:
127、-128在 short 二进制表示 127 => 0000 0000 0111 1111 -128 => 1111 1111 1000 0000
127、-128在 int 二进制表示 127 => 0000 0000 0000 0000 0000 0000 0111 1111 -128 => 1111 1111 1111 1111 1111 1111 1000 0000
当int转short、byte时截取“正数前的0”或“负数前的1”时不会照成数据丢失
<a name="nDMqf"></a>
# ![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1645579287701-2bccd209-24af-4c60-bafd-5767322ac240.png#clientId=ue4e307cd-19a5-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=271&id=u6a9bbdac&margin=%5Bobject%20Object%5D&name=image.png&originHeight=541&originWidth=962&originalType=binary&ratio=1&rotation=0&showTitle=false&size=70125&status=done&style=none&taskId=u03b0f7e7-e280-4168-8ac3-3a6be9d827f&title=&width=481)
<a name="KzchS"></a>
# 数据自动转换
1. 数值
1. byte<short<int<long<float<double
1. 当容量小的与容量大的进行运算,自动提升容量
1. byte、char、short运算结果为int
2. 字符
1. 数值+字符=数值+字符值
1. 数值遇到字符串自动转换字符
1. 数值可以变成字符串、字符串不能变成数值
<a name="xX2W0"></a>
# 进制表示
1. binary-二进制0b111(以0b开头)
1. decimal-八进制0127(以0开头)
1. octal-十进制123
1. hex-十六进制0x11A(以0x开头)
运行自动转换为十进制
<a name="HVqJH"></a>
# 二、十进制转换
![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642422897520-c7dca69c-4b5b-4523-abdc-8cd0ff6df1a7.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=168&id=ua4fb0303&margin=%5Bobject%20Object%5D&name=image.png&originHeight=335&originWidth=522&originalType=binary&ratio=1&rotation=0&showTitle=false&size=12748&status=done&style=none&taskId=u0079d83f-a5dc-42c8-bd6a-47e9d44ffd5&title=&width=261)<br />二进制转十进制:2**4+2**2+2**1=22<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642423796736-7cb778cb-6057-4b1e-847f-6b411ae55bd4.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=124&id=uf33c968e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=248&originWidth=446&originalType=binary&ratio=1&rotation=0&showTitle=false&size=10959&status=done&style=none&taskId=u780ea6a6-a357-4fae-a80e-1ddd3c20a13&title=&width=223)<br />十进制转二进制:除2留余,到1或0为止,倒序记录<br />13->1101
1. 二进制原码(二进制)
1. 二进制反码(二进制除最前的符号外,各位取反)
1. 二进制补码(反码+1)反
1. 计算机底层用补码方式存储
<a name="NAUCp"></a>
# 二八十进制转换
![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642424113976-1faca9a4-1880-4161-8f7d-33c083f7a1fe.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=228&id=u9738102f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=455&originWidth=711&originalType=binary&ratio=1&rotation=0&showTitle=false&size=174238&status=done&style=none&taskId=u18efcd23-858f-4c1a-8107-55967efc79c&title=&width=355.5)<br />二转八、十六时,三四个为一组进行计算<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642424205488-239ea62a-4d00-4745-a01a-be59fe6beed5.png#clientId=udd7ce51a-ce66-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=238&id=u43b28a1e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=475&originWidth=628&originalType=binary&ratio=1&rotation=0&showTitle=false&size=155789&status=done&style=none&taskId=uf9658993-582e-40c8-a0c0-c1fb84acd18&title=&width=314)<br />八、十六转二时,三四个为一组进行拆分
<a name="GLSiK"></a>
# &和&&的区别
- 相同点1.&和&&的运算结果相同
- 相同点2.当符号左边是true时,都会执行右边运算符
- 不同的:当符号左边是false时,&会执行右边,&&不会执行
|和||的区别
- 相同点1.|和||的运算结果相同
- 相同点2.当左边是false时,都会执行右边
- 不同点:当符号左边是true时,|会继续执行右边,||不会执行
<a name="vCiNU"></a>
# 加减的优先级低于加减
![image.png](https://cdn.nlark.com/yuque/0/2022/png/737268/1642479889804-163a5831-96d2-47f3-b4be-d0ddde56587d.png#clientId=u75c91b4d-5594-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u35512163&margin=%5Bobject%20Object%5D&name=image.png&originHeight=520&originWidth=533&originalType=url&ratio=1&rotation=0&showTitle=false&size=23269&status=done&style=none&taskId=ua6d97c4b-d829-4191-8377-0bd39e7f7bc&title=)
<a name="A5QvX"></a>
# switch-case
```java
switch(val){
case 1:break;
case 2:break;
default:
}
//val允许类型
//byte、short、char、int、枚举类型(JDK5.0)
//String(JDK7.0)
强制停止
时间戳
System.currentTimeMillis();
获取键盘输入数据
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
boolean bool = scanner.nextBoolean();
double decimal = scanner.nextDouble();
String str = scanner.next();
日历模块
import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
int month = canender.get(Calender.MONTH) //当前月
Scanner
Java.util.Scanner scan = new Java.util.Scanner(System.in);
import java.util.Scanner; //引入键盘扫描类
Scanner input=new Scanner(System.in);//创建一个键盘扫描类对象
int i = input.nextInt(); //输入整型
long l = input.nextLong(); // 长整型
String str = input.next(); //输入字符串型
float flo = input.nextFloat();//输入浮点数类型
double dou = input.nextDouble();//输入双精度浮点数
String str = input.nextLine(); //输入字符串,接受空白