Java基礎知識-(面接問題のswitch文)

937 ワード

  • switch(式) ,式の受信可能なタイプは次のとおりです.   
  • 基本データ型(byte、short、char、int)
  • 参照データ型
  • 列挙タイプ
  • String文字列
  • caseの後ろには定数しかなく、変数ではありません.
  • switch文にbreakを付けないとcaseが貫通します.(case穿透を説明します:昔、皇帝は毎晩後宮の佳麗三千の中から1人の寵愛を選んで、その中のある2人の佳麗の部屋の間に壁がなくて(この時case穿透が発生します)、皇帝の寵愛が1人終わった後、直接別の部屋に行きました.)
  • 栗を挙げる:
    public class test {
    	public static void main(String[] args) {
    		int x = 2;
    		int y = 3;
    		switch(x) {
    			default:
    				y++;
    				break;
    			case 3:
    				y++;
    			case 4:
    				y++;
    		}
    		System.out.println("y = " + y);
    	}
    }

    セグメント出力:y=4
    public class test {
    	public static void main(String[] args) {
    		int x = 2;
    		int y = 3;
    		switch(x) {
    			default:
    				y++;
    			case 3:
    				y++;
    			case 4:
    				y++;
    		}
    		System.out.println("y = " + y);
    	}
    }

    セグメント出力:y=6
    このレベルでは、defaultが終了してbreakがなく、caseが貫通し、default、case 3:、case 4:のy++がそれぞれ実行される.従ってyの最終出力は6