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
*
*/