public class ForTest {
private static int j = 0;
private static boolean methodB(int k) {
j += k;
return true;
}
private static void methodA(int i) {
boolean b;
b = i < 10 | methodB(4);
b = i < 10 || methodB(8);
System.out.println(b);
}
public static void main(String[] args) {
methodA(5);
System.out.println(j);
}
}
这个题的考点是:
||是短路运算,如果||的前一个表达式为真,就不会在去判断第二个表达式的值了;而|会再判断第二个表达式的值。
所以打印结果是:
true
4
class SwitchTest {
public static void main(String[] args) {
int a = 5;
a = (a++) + 2;
switch (a) {
case 6:
System.out.print("6");
break;
case 7:
System.out.print("7");
case 8:
System.out.print("8");
break;
default:
System.out.print("结果等于其他值");
}
}
}
/**
* 这个题主要考的有两个知识点:一时Java运算符中的++;二就是switch中的break;
*
* 当运算符++在前时,如:++a==>先将a进行++运算,然后用运算之后的数据参加其他运算;
* 当运算符++在后时,如:a++==>先用a参加其他的运算,然后进行++运算
*
* switch中的break为跳出本次switch;如果switch中的case后没有break的话,程序会继续向下执行,知道遇到break。
*
* 根据以上分析不难得出输出结果:78
*
* @author Jack
*
*/