JAvaプロセス制御の選択構造(if文、switch文)

5053 ワード

構造の選択
選択構造は分岐構造とも呼ばれ,文を判断する.私たちが使っているのは`if`と`switch`の文です.
if文
1.1:一つの条件の判断に用いられ、満足すれば実行される
文の形式:
if(     ){
      true                     
}

ケース:ある会社の応募社員は、履歴書を送るには2年以上の経験を持つ人が必要です.
分析:1.変数保存勤続年数を定義する;2.勤続年数と要求を比較する.3.trueの場合は履歴書を送付
public class Test{
public static void main(String [] args){
	int work=3;//  
	if(work>2){
	System.out.println("      ");
	}
	}
}

1.2:両条件の判断に用いる
文の形式:
if(){
	          
}else{
	          }

ケース:ある会社の応募社員は2年以上の経験を持っている人が履歴書を送ることができ、満足していない人は友好的なヒントを与えることができます.
分析:1.変数保存勤続年数を定義する;2.勤続年数と要求を比較する.3.trueの場合、履歴書を送付し、falseはユーザーに条件を満たしていないことを伝える
public class Test{
public static void main(String [] args){
	int work=3;//  
	if(work>2){
	System.out.println("      ");
	}else{
	System.out.println("       ");
	}
	}
}

ケース:閏年分析かどうかを判断する年を定義します.1.変数を定義して年情報を格納します.2.閏年のルールに合致するかどうかを判断する.3.出力印刷結果閏年:4で割り切れる、100で割り切れる、または400で割り切れる
public class Test{
public static void main(String [] args){
    int year = 2000;
    if(year %4==0 && year %100!=0 || year %400==0){
    System.out.println("  ");
    }else{
    System.out.println(year+"    ");
    }
  }
}

1.3:多様な条件の判断に用いる
文の形式:
if(){
	          
 }else if{
	              
	}else{
	        
	}

ケース:数字の1-7を入力して、対応する出力は何曜日です
分析:1.変数データ情報を定義する;2.このデータ情報と要求で比較する;3.出力結果に対応し、出力プロンプトを満たさない
 public class Test{
    public static void main(String [] args){
	int day = 1;
	if(day==1){
	System.out.println("  ");
}else if(day==2){
	System.out.println("  ");
}else if(day == 3){
	System.out.println("  ");
}else if(day == 4){
	System.out.println("  ");
}else if(day == 5){
	System.out.println("  ");
}else if(day == 6){
	System.out.println("  ");
}else if(day == 7){
	System.out.println("  ");
}else{
System.out.println("          ");
	}
	}
}

1.4:if文の総括注意事項:
  • if文は単独で使用でき、elseは単独で使用できません.
  • if文の後にセミコロンを付けることはできません.セミコロンを付けると、後には何の関係もありません.
  • ifまたはelse文で、1文のみ出力する場合、カッコは無視して書かないことができますが、使用は推奨されません.
  • if(work >2 && age<35)//  
    	System.out.println(“    ”);
    else //   
    	System.out.println("     ");
    
  • if文は、複数のif文およびelse文をネストすることができ、回数に制限はありません.
  • System.out.println("work>2 && age<35 ? " ":" ")このような三元表現でif else文を簡略化することができますが、弊害は三元表現が演算子であるため、結果が必要です.複数のネストがある場合は、if elseを使用することをお勧めします.

  • switch文
    文の形式:
    switch(   ){
    case  1:    ;
    case  2:    ;
    ....
    default:    ;
    break
    }
    

    文構造体分析:
  • byte、short、int、char(jdk6.0 String)
  • のみである.
  • case以降の値は一意のみ、繰り返しはできず、定数
  • のみである.
  • breakが遭遇すると、switch
  • が終了する.
  • case実行文の後にbreakと書かないと、breakに遭遇したり、プログラムが終了するまで
  • が実行されます.
  • デフォルトdefault文ブロックは、プログラムの任意の位置で実行できます.その実行順序は、すべてのcaseを先に判断し、すべてのcaseが満たされていない場合、default文を実行し、最後の
  • に置くことをお勧めします.
  • 同じ出力が複数ある場合は、
  • と略記することができる.
    case 1: case 2: case 3 
    System.out.println("......");
     break;
    

    例:数字で今日は何曜日かを判断する
    public class Test{
        public static void main(String [] args){
    	int day = 1;
    	switch(day){
    	case 1 :System.out.println(“  ”)
    	break;
    	case 2 :System.out.println(“  ”)
    	break;
    	case 3 :System.out.println(“  ”)
    	break;
    	case 4 :System.out.println(“  ”)
    	break;
    	case 5 :System.out.println(“  ”)
    	break;
    	case 6 :System.out.println(“  ”)
    	break;
    	case 7 :System.out.println(“  ”)
    	break;	
    	default:System.out.println(“       ”);
    	break;
    	}
    	}
    }
    

    ケース:春夏秋冬に直接出力を残し、breakを残すことができると判断した.これにより、caseの透過性および作用ドメインを用いることができる.
    
    public class test1 {
        public static void main(String[] args) {
            int m=3;      //      
            switch (m){
                case 3: case 4: case 5:        //switch    
                    System.out.println("  ");
                    break;
                case 6: case 7: case 8:
                    System.out.println("  ");
                    break;
                case 9: case 10: case 11:
                    System.out.println("  ");
                case 12: case 1: case 2:
                    System.out.println("  ");
                    default
                        break;
            }
        }
    }
    

    ここでは,switchの透過性,すなわち,1つのcaseのうちbreakが終了しなければプログラムは継続的に実行される.
    ifとswitchの違い
    同じ点:ブランチ構造に使用できます.[異なるポイント](Different Points):シーンの使用方法が異なります.ifは主にデータ区間を判断する際に用いられ、switchは主に判断値が多くなく、値タイプがbyte、short、int、char、Stringの場合に用いられる.どちらの場合もご利用いただける場合は、switchをご利用ください