【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
1. 逻辑运算符有哪些
* &,|,^,!
* &&,||
2. * ^逻辑异或:相同为false,不同为true。
3. 逻辑运算符&&和&的区别
* a:最终结果一样。
* b:&&具有短路效果。左边是false,右边不执行。
* &是无论左边是false还是true,右边都会执行
同理||与|的区别是?
4. Java语言基础(位异或运算符的特点及面试题)
* ^的特点:一个数据对另一个数据位异或两次,该数本身不变。
*如何实现对两个整数变量的值进行互换。
x = 10
y = 5
x = x ^ y 10 ^ 5
y = x ^ y 10 ^ 5 ^ 5
x = x ^ y 10^5^10
5. 位运算符的基本用法2及面试题(用原码的方式分析)
案例演示 >>,>>>,<<的用法:
* <<:左移 左边最高位丢弃,右边补齐0 (向左移动几位就是乘以2的几次幂)
* >>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1 (向右移动几位就是乘以1/2的几次幂)
* >>>:无符号右移 无论最高位是0还是1,左边补齐0
* 最有效率的算出2 * 8的结果 (2 << 3)
6. 选择结构switch语句的格式及其解释
A:switch语句的格式
*
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
Switch语句适用的类型:*基本数据类型可以接受byte,short,char,int
*引用数据类型可以接受枚举(JDK1.5)String字符串(JDK1.7)
* B:switch语句的格式解释
* C:面试题
* byte可以作为switch的表达式吗?
* long可以作为switch的表达式吗?
* String可以作为switch的表达式吗?
* C:执行流程
* 先计算表达式的值
* 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
7. 选择结构switch语句的注意事项
A:案例演示
* a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
* b:default可以省略吗?
* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
* 特殊情况:
* case就可以把值固定。
* A,B,C,D
* c:break可以省略吗?
* 最后一个可以省略,其他最好不要省略
* 会出现一个现象:case穿透。/*switch(month) {
case 3:
case 4:
case 5:
System.out.println("这个季节是春天");
break;
case 6:
case 7:
case 8:
System.out.println("这个季节是夏天");
break;
case 9:
case 10:
case 11:
System.out.println("这个季节是秋天");
break;
case 12:
case 2:
case 1:
System.out.println("这个季节是冬天");
break;
}*/
* 最终我们建议不要省略
* d:default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。
* e:switch语句的结束条件
* a:遇到break就结束了
* b:执行到switch的右大括号就结束了
来源:oschina
链接:https://my.oschina.net/u/4258973/blog/3154931