Java之分支和迴圈

來源:互聯網
上載者:User

標籤:cas   switch   奇數   star   詳細   print   一個   範圍   import   

Java中的分支語句:if語句:

if語句的四種寫法:

  (1)  if(運算式_布爾值) {  ...  }  (2)  if(運算式_布爾值) {  ...  } else {  ...  }  (3)  if(運算式_布爾值) {  ...  } else if(運算式_布爾值) {  ...  }  (4)  if(運算式_布爾值) {  ...  } else if(運算式_布爾值) {  ...  } else {  ...  }

if條件陳述式是一個重要的編程語句,它用於告訴程式在某個條件成立的情況下執行某段程式,而在另一種情況下執行另外的語句。
使用if條件陳述式,可選擇是否要執行緊跟在條件之後的那個語句。關鍵字if之後是作為條件的“布林運算式”,如果該運算式返回的結果為true,則執行其後的語句;若為false,則不執行if條件之後的語句。if條件陳述式可分為簡單的if條件陳述式、if…else語句和if…else if多分支語句。

if語句例子:

public class GetTerm { // 建立主類    public static void main(String args[]) { // 主方法        int x = 20; // 聲明int型局部變數        if (x > 30) { // 判斷變數x是否大於30            System.out.println("a的值大於30"); // 條件成立的輸出資訊        } else if (x > 10) { // 判斷變數x是否大於10            System.out.println("a的值大於10,但小於30"); // 條件成立的輸出資訊        } else if (x > 0) { // 判斷變數x是否大於0            System.out.println("a的值大於0,但小於10"); // 條件成立的輸出資訊        } else { // 當以上條件都不成立時,執行的語句塊            System.out.println("a的值小於0"); // 輸出資訊        }    }}
switch語句:
int a = 2;switch(a) {    case 1    ...    break;    case 3    ...    break;    case 5    ...    break;    default    ...
}

switch語句中運算式的值必須是整型或字元型,常量值1~常量值n必須也是整型或字元型。switch語句首先計算運算式的值,如果運算式的值和某個case後面的變數值相同,則執行該case語句後的若干個語句直到遇到break語句為止。此時如果該case語句中沒有break語句,將繼續執行後面case裡的若干個語句,直到遇到break語句為止。若沒有一個常量的值與運算式的值相同,則執行default後面的語句。default語句為可選的,如果它不存在,而且switch語句中運算式的值不與任何case的常量值相同,switch則不做任何處理。

switch語句例子:

public class GetSwitch { // 建立類    public static void main(String args[]) { // 主方法        int week = 2; // 定義int型變數week        switch (week) { // 指定switch語句的運算式為變數week            case 1: // 定義case語句中的常量為1                System.out.println("Monday"); // 輸出資訊                break;            case 2: // 定義case語句中的常量為2                System.out.println("Tuesday");                break;            case 3: // 定義case語句中的常量為3                System.out.println("Wednesday");                break;            default: // default語句                System.out.println("Sorry,I don‘t Know");        }    }}
if   switch的區別:

if語句使用情境:
針對結果是boolean類型的判斷
針對一個範圍的判斷
針對幾個常量值的判斷
switch語句使用情境:
針對幾個常量值的判斷

switch建議判斷固定值的時候用

if建議判斷區間或範圍的時候用

*用switch能做的,用if都能做,反過來則不行

Java中的迴圈語句:

(1)

for(int i=0;i<10;i++) {
...
}

(2)

while(運算式_布爾值) {

}

(3)

do {

} while(運算式_布爾值);

三種迴圈語句簡單一實例:

public class Test2 {    public static void main(String[] args){        int i=0;        for(;i<3;i++){            System.out.println("for:"+i);        }            while(i<6){            System.out.println("while:"+i);            i++;        }        do{            System.out.println("do:"+i);            i++;        }while(i<9);    }}

綜合例子1:

如何輸入成績,得出評分:

import java.util.Scanner;public class Lianxi{    public static void main(String[] args){        int i=1;
    //使用死迴圈不斷判斷 for(;i<10;i--){ Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); int a =Integer.parseInt(str); if(str=="55"){ i=11; System.out.println("結束了"); } if(a<=100&&a>80){ System.out.println("優秀"); }else if(a<=80&&a>60){ System.out.println("良好"); }else if(a<=60&&a>50){ System.out.println("尚可"); }else if(a<=50&&a>=0){ System.out.println("不可"); }else { System.out.println("輸入有錯誤!!!"); } } }}

綜合例子2:

輸出菱形

public class Var_02 {    public static void main(String args[]) {        int lineCount = 17;// 輸出的菱形有多少行,請賦值成奇數        int maxLineNum = (lineCount + 1) / 2;// 菱形最多一行        for (int i = 1; i <= maxLineNum; i++) {// 迴圈菱形數量越來越多的幾行            for (int space = 1; space <= maxLineNum - i; space++) {// 輸出空格,數量=最後一行-當前行數                System.out.print("  ");            }            for (int star = 1; star <= (i * 2) - 1; star++) {// 輸出星號,數量=行數*2-1                System.out.print("* ");            }            System.out.println();// 換行        }        int declineCount = lineCount - maxLineNum;// 計算剩下的幾行,這幾行星號的數量是遞減的        for (int i = 1; i <= declineCount; i++) {// 迴圈菱形數量越來越少的行數            for (int space = 1; space <= i; space++) {// 輸出空格,數量等於當前的行數                System.out.print("  ");            }            for (int star = 1; star <= (declineCount - i + 1) * 2 - 1; star++) {// 輸出星號,數量等於(總數-當前行數)*2-1                System.out.print("* ");            }            System.out.println();        }    }}

 

補充:

foreach語句:

是for語句的特殊簡化版本,但是foreach語句並不能完全取代for語句,然而任何foreach語句都可以改寫為for語句版本。foreach並不是一個關鍵字,習慣上將這種特殊的for語句格式稱之為foreach語句。foreach語句在遍曆數組等方面為程式員提供了很大的方便(本書將在第6章對數組進行詳細的介紹),文法如下所示:

for(元素變數x : 遍曆對象obj) {    引用了x的java語句;}

例子:

public class Repetition { // 建立類Repetition    public static void main(String args[]) { // 主方法        int arr[] = { 7, 10, 1 }; // 聲明一維數組        System.out.println("一維數組中的元素分別為:"); // 輸出資訊        for (int x : arr) {        //foreach語句,int x引用的變數,arr指定要迴圈遍曆的數組,最後將x輸出            System.out.println(x);        }    }}

 

Java之分支和迴圈

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.