数据类型与运算符
变量和类型
1.1整型变量
基本语法格式:int 变量名 = 初始值;
1.2长整型变量
基本语法格式:long 变量名 = 初始值;
1.3双精度浮点型变量
基本语法格式:double 变量名 = 初始值;
1.4单精度浮点型变量
基本语法格式:float 变量名 = 初始值;
1.5字符类型变量
基本语法格式:char 变量名 = 初始值;
1.6字节类型变量
基本语法格式:byte 变量名 = 初始值;
1.7短整型变量
基本语法格式:short 变量名 = 初始值;
1.8布尔类型变量
基本语法格式:boolean 变量名 = 初始值;
1.9字符串类型变量
基本语法格式:String 变量名 = “初始值”;
运算符
2.1算术运算符
- 基本四则运算符 + - * / %
- 增量赋值运算符 += -= *= /= %=
- 自增/自减运算符 ++ –
2.2关系运算符
- 主要有六个:== != < > <= >=
2.3逻辑运算符
- 主要由三个:&& || !
- 逻辑与&&
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false - 逻辑或||
规则: 两个操作数都为 false, 结果为 false, 否则结果为 true - 逻辑非
**规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数) - 短路求值规则
&& 和 || 遵守短路求值的规则
System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
- 对于 && , 如果左侧表达式值为 false, 则表达式的整体的值一定是 false, 无需计算右侧表达式.
- 对于 ||, 如果左侧表达式值为 true, 则表达式的整体的值一定是 true, 无需计算右侧表达式
2.4位运算符
位运算符主要有四个:& | ~ ^
- 按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0
int a = 10;
int b = 20;
System.out.println(a & b);
- 按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
int a = 10;
int b = 20;
System.out.println(a | b);
- 按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
int a = 0xf;
System.out.printf("%x\n", ~a)
- 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1
int a = 0x1;
int b = 0x2;
System.out.printf("%x\n", a ^ b);
2.5移位运算
移位运算有三个:<< >> >>>
左移 <<: 最左侧位不要了, 最右侧补0
右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0,负数补1)
无符号右移 >>>: 最右侧位不要了, 最左侧补 0
2.6条件运算符
表达式1 ? 表达式2 : 表达式3
2.7运算符的优先级