Java基础-Day02
运算符
-
算法运算符
-
赋值运算符
-
short s1 = 10; s1 = s1 + 2;//编译失败 s1 += 2;//编译成功,结论:不会改变变量本身的数据类型(推荐使用)
-
-
比较运算符
特别说明:
-
比较运算符的结果是boolean类型
-
<,>, <=, >=,!=:只能使用在数值类型的数据之间
-
== 和 !=:不仅可以使用挂在数值类型数据中,还可以使用在其他引用类型变量之间
-
-
逻辑运算符
特点说明:
- 逻辑元运算符都是Boolean类型的变量,而且结果也是Boolean类型
-
位运算符
【面试题】你能否写出最高效的2 * 8 的实现方式? 答案: 2 << 3 或 8 << 1 ps:能使用则与2的几次幂有关联
特别说明:
- 位运算符操作的都是整数型的数据
- <<:在一定范围内,每向左移1位,相当于 * 2;<<:在一定范围内,每向右移动1位,相当于 /2。
public static void main(String[] args){ //方法一:自动实现 String str1 = Integer.toBinaryString(60);//十进制转二进制字符串 String str2 = Integer.toHexString(60);//十进制转十六进制字符串 System.out.println(str1); System.out.println(str2); //方法二:手动转换 int i1 = 60; int i2 = i1 & 15;//位运算 String j = (i2 > 9) ? (char)(i2 - 10 + 'A') + "" : i2 + ""; int temp = i1 >>> 4; i2 = temp & 15; String k = (i2 > 9) ? (char)(i2 - 10 + 'A') + "" : i2 + ""; System.out.println(k + "" + j); }
-
三元运算符
特别说明:
- 条件表达式的结果位Boolean类型
- 根据条件表达式真或假,决定执行表达式1,还是表达式2
- 如果表达式为true,则执行表达式1
- 如果表达式为false,则执行表达式2