运算
-
i++ 与++i 的区别? i++ 表示先将 i 放在表达式中运算,然后再加 1 ++i 表示先将 i 加 1,然后再放在表达式中运算
-
|| 和 |,&& 和& 的区别,逻辑运算符
&和| 称为布尔运算符,位运算符。&&和|| 称为条件布尔运算符,也叫短路运算符。
两种运算符得到的结果完全相同,但得到结果的方式又一个重要区别:条件布尔运算符性能比较好。他检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。
结论:如果 && 运算符的第一个操作数是 false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是 false;同样,如果第一个操作数是 true,|| 运算符就返回 true,无需考虑第二个操作数的值。但 & 和 | 却不是这样,它们总是要计算两个操作数。为了提高性能,尽可能使用 && 和 || 运算符
-
switch
从 Java 7 开始,可以在 switch 条件判断语句中使用 String 对象
String s = "a"; switch (s) { case "a": System.out.println("aaa"); break; case "b": System.out.println("bbb"); break; default: break; }
switch 不支持 long、float、double,switch 的设计初衷是对那些只有少数几个值的类型进行等值判断,如果值过于复杂,那么用 if 比较合适
-
break:跳出一层循环
-
移位运算
计算机里一般用补码表示数字,正数、负数的表示区别就是最高位是 0 还是 1
-
正数的原码反码补码相同
100: 00000000 00000000 00000000 01100100
-
负数: 原码:最高位为1,其余位置和正数相同 反码:保证符号位不变,其余位置取反 补码:保证符号位不变,其余位置取反加 1,即反码 +1
-100原码: 10000000
-