2-20
常量的定义 final
- 常量一旦被初始化后,便不可被更改s
- 常量的命名全部大写,每个单词用下划线隔开
- 字符常量赋值给符号常量
Java命名规范总结
- 所有变量、方法、类名做到见名知义
- 类成员变量&局部变量:首字母小写和驼峰原则:monthSalary
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:GoodMan
- 方法名:首字母小写和驼峰原则:runRun()
基本数据类型
- 引用数据类型包含类、接口、数组,都是四个字节,记录被引用数据类型的地址
Java整型常量的四种表示方式
- 八进制:以0开头 015
- 十六进制:0x开头
- 二进制:0b开头
- 十进制
Long类型数字后需要添加L long t = 30000000000L;
Java常见数据类型表示范围
byte | 一字节 | -27~27-1 (-128~127) |
---|---|---|
short | 二字节 | -215~215-1 (-32768~32767) |
int | 四字节 | -231~231-1 (±21亿) |
long | 八字节 | -263~263-1 |
float 和 double
1、因为存储的原理不同,表达不精确, 但是表达范围更大
2、float 四字节(并不是2的31次方),double 八字节
3、浮点型不精确,不能用于比较,普通用足够,商业用 BigDecimal
4、浮点常量默认为 double ,需要用 float 则最后需要加 F
5、科学计数法:5E-1 表示5乘10的-1次方
char 和字符类型
- '\u0012' 表示 unicode码 为12的字符
- 转义字符
- \n 换行
- \t 制表符
- \r 回车
\'
单引号\"
双引号\\
反斜杠
字符集
- Java采用了 Unicode字符集
- Unicode 字符集没有兼容GBK(否则就不会乱码)
- Unicode字符集兼容了ASCII字符集
- Unicode采用了字符集和编码分开的策略,平时编码一般使用UTF-8
boolean 布尔型
- 只有两个常量值
- 在内存中占 1 字节 或 4字节 不可以用0 或正整数代替 false 和 true 与C不同
二元运算符的远算规则
整数远算
- 如果两个操作数中有一个是long类型,则结果必为long
- 若没有long类型,则无论是什么类型整数结果必为Int
浮点运算
- 操作数中有一个double,则结果为double
- 否则为float
取模运算
- 操作数可为浮点数
- 余数符号和左边操作数相同
7%3 =1
7%-3 =1
-7%3 =-1
赋值拓展运算符
3_=2+3 => 3 _ (2+3) =15
整个等号右边为一个整体,且不可以直接在输出框中输出全是数字的赋值拓展运算符
关系运算符
==
!=
基本和引用数据类型都可以用
<=
等只能基本类型使用
逻辑运算符
与 &
、或 |
、非 !
短路与、短路或、短路非
异或 ^
------相同为false ,不同为 true
移位运算符
<< 1
左移一位,相当于乘2
0111 -》 1110
十进制结果:7 -》14
字符串连接符
当 +
连接的出现一个字符串(不是字符)时,就会让整体变成字符的拼接,而不是加法
直接输出字符变量,会输出该字符的ASCII码而不是字符本身
需要输出字符可以前面操作 ""+
相当于加了个空字符串
运算符的优先级
- 一元运算符
! + -
的优先级仅次于括号 - 算术运算符 优先 关系运算符 优先 逻辑运算符
- 逻辑运算符中
!
优先级高于&&
优先级高于||
自动类型转换
- 容量小的可以自动转换为容量大的类型
特例:int 可以转为 byte 、short 、char 要求其范围不超过要转换的类型
java
int a = 100;
byte b = 100;
//b = a; 会报错,只有赋值的时候可以直接给一个整数而不是给一个变量
- char也可以参加转换,boolean不行
强制类型转换
当超过了表述的范围时,则会产生一个完全不同的值