1. 程式人生 > >java中的常用語句

java中的常用語句

java程式的流程控制語句

1.順序結構

java程式從上到下一行一行地執行,中間沒有判斷和跳轉,直到程式結束。

2.選擇結構 

根據判斷條件的結構,選擇性的執行。

    2.1 if語句

格式1:if(判斷條件){ java程式碼  } 
如果判斷條件為true時執行java程式碼;如果判斷條件為false時不執行java程式碼。
格式2:if(判斷){ 
                       java程式碼1 
                     }else{
                       java程式碼2
                     } 如果判斷條件為true時執行java程式碼1;如果判斷條件為false時執行java程式碼2。 此格式可以使用三元表示式代替:(判斷條件)? 數值1:數值2  
例如: public  class  IfDemo{
    public  static  void  main(String  args[]){
     /*
     int  a=30;
     int  b=20;
     if(a<b){
            System.out.println("a小於b");
        }
      System.out.println("執行結束!");
     */
     /*
       int  a=30;
       int  b=20;
       if(a<b){
            System.out.println("a小於b");
        }else{
            System.out.println("a大於b");
        }
       System.out.println("執行結束!");
    */
     // 三元運算子:  (判斷)? 數值1:數值2 ---if-else語句
     /*
      int  a=30;
      int  b=20;
      System.out.println((a<b)?"a小於b":"a大於b");
      System.out.println("執行結束!");
     */
   }

}

格式3:if(判斷1){ 
                         java程式碼1 
                        }else if(判斷2){
                         java程式碼2
                        }else  if(判斷3){
                         java程式碼3
                        }  
                        .....
                        else  if(判斷n){
                                java程式碼n
                           }else{
                                java程式碼m
                            }
               判斷1為true時執行java程式碼1,結束;
               判斷1為false時執行判斷2;
               判斷2為true時執行java程式碼2,結束;
               判斷2為false時執行判斷3;
               .......

               如果所有的判斷都是false,那麼就會值最後一個else中的java程式碼m。

例如:

import  java.util.Scanner;
public  class  IfDemo1{
      //建立Scanner類的物件
      Scanner  input=new Scanner(System.in);
     //提示使用者
     System.out.println("請輸入成績值:");
     //接收成績值
    int  chengji=input.nextInt();
    if((chengji>=60 && chengji < 70)){
         System.out.println("成績:及格");
    }else  if((chengji>=70 && chengji<=80)){
           System.out.println("成績:良好");
     }else  if((chengji>80 && chengji<=90)){
           System.out.println("成績:優秀");
      }else  if((chengji>90 && chengji<=100)){
           System.out.println("成績:異常優秀");
      }else{
           System.out.println("成績:不及格");
    }
   }
}

格式4:if(判斷1){
                          if(判斷2){
                                   java程式碼1
                                 }else{
                                    java程式碼2
                                 }
                      }ese{
                         if((判斷3){
                                 java程式碼3
                        }else{
                                 java程式碼4
                         }

                   }

以上格式是一個if...else...結構的巢狀。

例如:
import  java.util.Scanner;
public  class  IfDemo2{
    public  static  void  main(String  args[]){
      //建立Scanner類的物件
      Scanner  input=new Scanner(System.in);
     //提示使用者
     System.out.println("請輸入年齡:");
     //接收成績值
    int  age=input.nextInt();
     if(age>20){
             if(age<45){
                  System.out.println("年齡可用");
            }else{
                  System.out.println("年齡過大");
            }
      }else{
         if(age>0){
                 System.out.println("年齡過小");
               }else{
                 System.out.println("輸入錯誤");
           }
     }
   }

}

    2.2 switch語句

switch語句可以代替if(){}else if(){}結構

       格式:
        switch(表示式){
            case  常量值1:java語句1;[break;]
            case  常量值2:java語句2;[break;]
           .......
            case  常量值n:java語句n;[break;]
            [default: java語句m;[break;]]
         }
          先計算表示式的結果,如果表示式的結果與 case後面的常量值比較,
          如果相同,執行該case後面對應的java語句,對應的java語句執行以後,檢查是否還有[break;]
                             若果有[break;]語句跳出 switch語句。
                             若果沒有[break;],執行下一個case對應的java語句,直到出現[break;]或者執行完畢。
          如果不相同,與下一個case後面的常量值比較,
              ...
          若果與case後面的常量值比較都不同那麼就執行default後面的java語句.

注意:表示式的運算結果可以是byte  short  char  int  列舉  String[jdk7.0]

例如:選擇題的判斷結構
import java.util.Scanner;
public  class  SwitchDemo{
    public  static  void  main(String  args[]){
     System.out.println("題目:doouble  dou=12.5; int i=(int)dou;");
     System.out.println("A、10  B、11  C、12  D、11.5");
     System.out.println("請選擇正確答案:");
     Scanner input=new Scanner(System.in);
     String answer=input.next();
     /*
     switch(answer){
        case  "A":System.out.println("答案A為10");break;
        case  "B":System.out.println("答案B為11");break;
        case  "C":System.out.println("答案C為12");break;
        case  "D":System.out.println("答案D為11.5");break;
        default:System.out.println("沒有改選項!"); break;
     }
     */
     //charAt(0);把字串中的第一個位置上的資料轉換成字元型【char】
     char newanswer=answer.charAt(0);
     switch(newanswer){
        case  'A':System.out.println("答案A為10");break;
        case  'B':System.out.println("答案B為11");break;
        case  'C':System.out.println("答案C為12");break;
        case  'D':System.out.println("答案D為11.5");break;
        default:System.out.println("沒有改選項!"); break;
     }
   }

}

3.迴圈結構  

按照一定條件,將程式迴圈執行。

    1.for迴圈

格式:
for(初始條件 ; 判斷條件 ;迴圈增量/減量){
       需要被迴圈執行的java程式碼

}

例如:
public  class  ForDemo{
   public  static void main(String args[]){
     //迴圈輸出1--10的整數
    /*
     for(int  i=1;i<=10;i++){
            System.out.println("i=="+i);
        }
    */
   //迴圈輸出10--1的整數
   /*
   for(int i=10;i>0;i--){
           System.out.println("i=="+i);
     }
   */
   //計算1--10的整數和
   int  sum=0;
   for(int  i=1;i<=10;i++){
        sum=sum+i;
   }
   System.out.println("sum=="+sum);
  }

}

    2.while迴圈

格式:
  while(判斷條件){
       需要被迴圈執行的java程式碼 
  }
初始條件被定義在迴圈結構之外。
迴圈增量/減量書寫在迴圈體的結尾。
例如:
public  class  WhileDemo{
   public  static void main(String args[]){
     //迴圈輸出1--10的整數
   /*
    int  i=1;
    while(i<=10){
      System.out.println("i=="+i);
      i++;
     }
  */
   //迴圈輸出10--1的整數
   /*
    int  i=10;
    while(i>=1){
      System.out.println("i=="+i);
      i--;
     }
    */
   //計算1--10的整數和
    int  i=1;
    int sum=0;
    while(i<=10){
           sum=sum+i;
           i++;
     }
    System.out.println("sum=="+sum);
   }

}

3.do...while迴圈

格式:do{
                  需要被迴圈執行的java程式碼 
            }while(判斷條件);
初始條件被定義在迴圈結構之外。
迴圈增量/減量書寫在迴圈體的結尾。
public  class  DoWhileDemo{
   public  static void main(String args[]){
     //迴圈輸出1--10的整數
    /*
    int i=1;
    do{
          System.out.println("i=="+i);
          i++;
      }while(i<=10);
    */
   //迴圈輸出10--1的整數
   /*
   int i=10;
    do{
          System.out.println("i=="+i);
          i--;
      }while(i>=1);
    */
   //計算1--10的整數和
    int i=1;
    int sum=0;
    do{
          sum=sum+i;
          i++;
      }while(i<=10);
     System.out.println("sum=="+sum);
  }

}

總結:1、for迴圈 與 while迴圈和do...while迴圈的比較
                for迴圈---要清楚自己的迴圈次數。

                while迴圈和do...while迴圈---不需要清楚自己的迴圈次數

        2、while迴圈與do...while迴圈的比較
                while迴圈--先判斷後執行
                do...while迴圈--先執行後判斷

                同等條件下do...while迴圈比while迴圈多執行一次。

猜數字:
1.沒有限制條件的猜數字,直至猜對
import java.util.Scanner;
public  class  CaiShuZi{
    public static  void main(String args[]){
      //定義一個boolean值
     boolean flag=true;
     //得到一個隨機數
     //隨機產生一個0--1之間的數字
     double num1=Math.random();
     //轉換成0--100之間的小數
     num1=num1*100;
     int num2=(int)num1;
     System.out.println("num2:"+num2);
     //建立Scanner物件
    Scanner  input=new Scanner(System.in);
     while(flag){
           System.out.println("請輸入一個0--100之間的整數:");
           int mynum=input.nextInt();
           if(mynum>num2){
                 System.out.println("太大了,換個小一點的,來試試!");
             }
           if(mynum<num2){
                 System.out.println("太小了,換個大一點的,來試試!");
             }
          if(mynum==num2){
                 System.out.println("恭喜你猜對了,遊戲結束!");
                 flag=false;
             }
         }
   }
}

大家可以將上面的例項修改成,有限制條件的猜數字程式。試試吧!

4.break語句

break語句出現表示終止或者中斷程式的執行。
break語句可以在在switch語句和迴圈語句中出現;出現在switch語句中表示,跳出switch語句的執行;出現在迴圈語句中,中斷迴圈的執行。
例如:
public  class  BreakDemo{
   public  static  void  main(String  args[]){
     //迴圈輸出1--10的整數,當數字等於5的時候,中斷輸出
    for(int  i=1;i<=10; i++){
           System.out.println("i=="+i);
           if(i==5){
               break;
              }
        }
   }
}
當迴圈是一種巢狀結構的時候,使用break表示跳出當前迴圈。
 for(int  i=1;i<=10;i++){
          System.out.println("外層迴圈語句中i==="+i);
          for(int j=1;j<=10;j++){
  System.out.println("內層迴圈語句中j==="+j);
                   if(j==5){
                            break;
                          }
            } 
           if(i==5){
                     break; 
                  }
        }

5.continue語句

 continue語句繼續【結束本次迴圈,進入下次迴圈】
例如:
public  class  ContinueDemo{
   public  static  void  main(String  args[]){
        //continue表示結束本次迴圈進入下次迴圈
        int  i=1;
       while(i<=10){
            i++;
            if(i==5){
               continue;
             }  
           System.out.println("i==="+i);
       }
  }
}

6.增強的for迴圈語句--JDK1.5對for語句進行了改進。

普通的for迴圈
for(初始條件;判斷條件;迴圈增量/減量){
    被執行的java程式碼
}
遍歷陣列---包陣列中儲存的資料逐個獲取出來。
例如:
public  class  GetArrayValue{
   public  static  void  main(String  args[]){
       //定義一個char陣列
       char  ch_name[]={'h','e','l','l','o'};
      //通過普通的for迴圈遍歷陣列
      for(int  i=0;i<ch_name.length;i++){
             System.out.println("陣列值="+ch_name[i]);
         } 
  }
}
增強的for迴圈語句--遍歷陣列
格式:
for(陣列的資料型別  變數名稱:陣列名稱){
      
}
例如:
public  class  GetArrayValue{
   public  static  void  main(String  args[]){
       //定義一個char陣列
       char  ch_name[]={'h','e','l','l','o'};
     //增強的for迴圈語句遍歷陣列
     for(char  c_name:ch_name){
           System.out.println("增強的for迴圈中的陣列值="+c_name); 
    }
  }
}
以上是我們在java中經常使用的程式流程的控制語句。