Javaの判断と循環文

21061 ワード

判断文
if判断文
  • 第一のフォーマット:
  • if(条件式){実行文}
    class Demo {
         public static void main(String[] args) {
            int a = 1;         
            if( a > 0){
                 System.out.println("  ");
                }
            System.out.println("  ");
         }
     } 
    
    if後の丸括弧の中の条件式は必ずbootleanタイプで、真偽の判定を行います。
    実行順序:ifに会った場合:条件式が真であれば、括弧内の文を実行します。偽の場合は、全セグメントif文をスキップして、後の文を実行します。
    Created with Raphaël 2.0主関数開始if(条件式)?実行文のメイン関数終了yes no
  • 第二のフォーマット:if(条件式){実行文}else{実行文;}
  • class Demo {
         public static void main(String[] args) {
            int a = 1;         
            if( a > 0){
                 System.out.println("  ");
                }else{
                 	System.out.println("  ");
              		}        
         }
     } 
    
    実行順序:出会いif:条件式が本当なら、ifの後ろの括弧の中の値を実行します。条件式が偽の場合は、elseの後ろにある括弧の値を実行します。
    Created with Raphaël 2.0主関数開始if(条件式)if括弧の文主関数終了else括弧の文yes no
  • 第3のフォーマット:if(条件式){実行文}else if(条件式){実行文;}…else{実行文;}
  • import java.util.*;
    class class05{
        public static void main(String[] arge){
            //num1         num2       
            Random random=new Random();
            Scanner scanner=new Scanner(System.in);
            int num1=random.nextInt(90)+10;
            //System.out.println(num1);
            System.out.print("Please inter a number:");
            int num2=scanner.nextInt();
            //       
            int a=num1/10;
            int b=num1%10;
            int c=num2/10;
            int d=num2%10;
            //    
            if(num1==num2){
                System.out.println("   ,  10000  ");
            }else if(a==d&&b==c){
                System.out.println("   ,  3000  ");
            }else if(a==c||a==d||b==c||b==d){
                System.out.println("   ,  1000  ");
            }else{
                System.out.println("   ,  ");
            }
        }
    }
    
    実行順序:if-else文の入れ子文であり、最初のifで条件を満たさないelse条件で条件を追加しました。
    Created with Rapha l 2.2.0主関数開始if 1(条件式)if括弧の文主関数終了else 1括弧の文if 2(条件式)if 2括弧の文else 2括弧の文yes no
    マルチ分岐構造(switch)
  • フォーマット:switch(表現){case取得値1:実行文;break caseの値2:実行文;break;default:実行文;break;
  • class demo{
        public static void main(String[] ager){
            int i=6;
            switch(i){
                case 1:
                    System.out.println("no 1");
                    break;
                case 4:
                    System.out.println("no 4");
                    break;
                case 6:
                    System.out.println("yes!");
                    break;
                default:
                    System.out.println("not right");
                    break;
            }
        }
    }
    
    実行順序:
    メイン関数の実行を開始した時に、switchでswitchの表現をcaseの後の表現と比較してcaseの後の表現と同じ語句を実行します。もしcaseの後ろに全部ないなら、defaultの後の文を実行します。
    メイン関数の開始
    case 1
    case 2
    default
    メイン関数の終了
  • その選択できるタイプは四つしかないです。byte、shot、int、char
  • ★★★★注意:switch文のcaseの後にbreakが文を飛び出す必要があります。そうでなければ、プログラムはbreakが飛び出すまで次のcaseを実行し続けます。
  • caseとdefaultは順番がなく、最初のcaseを先に実行し、マッチングしていないcaseはdefault
  • を実行する。
    ifとswitchの違い
  • ifは、数値を判断するために使用され、また、区間を判断するために使用され、その式の結果がbollanタイプ
  • であることが要求される。
  • switchは、固定されたいくつかの値を判断するために使用される

  • サイクル構造(whileとdo-while)
  • フォーマット:while(条件式){実行文}
  • class demo{
        public static void main(String[] ager){
            int i=6;
            while(i>0){			//           
                System.out.println("I  1");
                i--;
            }
    }
    
    実行順序:メイン関数の実行を開始し、whileが発生した場合、まずwhileの後の条件式を計算します。表式が本当の場合、whileの後ろの大かっこの中の文を実行します。そして、whileの後の表現判断を行います。式が偽の場合は、ループが飛び出すまでです。
    注意事項:1.括弧内の表式計算結果は必ずbollanタイプの値でなければなりません。2.括弧の中で直接false定数を書いてはいけません。3.whileループの括弧の後ろにセミコロンを書かないでください。循環制御の文のコードは大括弧で広がります。4.while循環制御の条件変数は必ず更新し、循環が正常に終わることを保証する(死循環防止)
  • フォーマット:do{実行文}while(条件式);
  • do{
                sel=sel+(int)(num%10);
                num/=10;
                if(num==0){
                    break;
                }
            }while(true);
    
    実行順序:先にdoの後の文を実行して、実行が終わったら条件式に進んで判断します。条件式の結果がtrueである場合、doの後の文を実行し続けます。条件式の結果がfalseであれば、ループを終了します。ドwhileは条件が満たされていても、循環体は少なくとも一回実行されるのが特徴です。
    循環構造(for)
  • forサイクルフォーマット:for(初期化式(1);循環条件式(2)ループ後の操作式(3){実行文](4)}
  • for(int i=0;i<num.length();i++){
                char c=num.charAt(i);
                if(isnumber(c)){
                    count++;
                }
            }
    
    実行順序:for内の3つの表式の動作の順番は、表式を初期化して1回だけ読み取り専用で、循環条件を判断し、本当に循環体を実行してから循環後の操作式を実行します。続いて循環条件を判断し、条件が満たされないまで過程を繰り返します。
    forとwhileの違いforは、知っている回数のサイクル(既知の条件に従って循環する)に傾向があり、whileは回数を知らないサイクルに傾向がある。
    フロー制御(breakとcontine)
    break:この層の循環を終了して、循環を抜け出して、もう次の循環continueを実行しません。この層の循環をスキップして、次の層の循環を続けて、循環回数は1つ減らします。
    breakの例:
    if(s1.charAt(i)==s2.charAt(j)){
                        i=i+j;
                    }else{
                        break;
                    }
          //  break          ,     
    
    contineの例:
    if(s1.charAt(i)==s2.charAt(j)){
                        i=i+j;
                    }else{
                        continue;
                        j+=1;
                    }
          //  continue ,   j+=1;  ,