Java面試題總結(二)

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


發佈了36 篇原創文章 · 獲贊 2 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章