运算符
- 算术运算符 + - * / %
public static void main3(String[] args) {
System.out.println(5/2); //2
System.out.println(5.0/2); //2.5
System.out.println((float)5/2); //2.5
System.out.println((float)(5/2)); //2.0
System.out.println(10%3);//1
System.out.println(-10%3);//-1
System.out.println(10%-3);//1
System.out.println(-10%-3);//-1
}
- 关系运算符 == != < > <= >=
注意:关系运算符的表达式返回值都是布尔类型
- 逻辑运算符 && || !
逻辑与 &&
规则:两个操作数都为true,结果为true,否则结果为false
逻辑或 ||
规则:两个操作数都为false,结果为false,否则结果为true
逻辑非 !
规则:操作数位true,结果位false,操作数为false,结果为true
- 位运算符 & | ~ ^
按位与 &
按位或 |
按位异或 ^
按位取反 ~
- 移位运算符 << >> >>>
左移 <<:最左侧位去掉,最右侧补0.
右移 >>:最右侧去掉,最左侧补符号位
无符号右移 >>>:最右侧位去掉,最左侧补0
- 条件运算符
条件表达式只有一个:
表达式1 ? 表达式2 : 表达式3;
表达式1 为true,取表达式2,反之表达式1 为假,取表达式3
十进制、二进制、十六进制之间的转换
(12)10 =(……0000 1100)2=(0x0000000c)16
(7)10 = (……0000 0111)2=(0x00000007)16