流程控制語句 for迴圈列印菱形
阿新 • • 發佈:2018-11-17
最近複習了一下java的流程控制語句,分為條件語句和迴圈語句。
條件語句有if條件語句,switch多分支語句。
迴圈語句有while迴圈語句,do...while迴圈語句,和for迴圈。
條件語句 if語句較為簡單,這裡只提switch語句啦~ switch語句首先計算表示式的值,如果表示式的值和某個case後面的變數值相同,則執行該case語句後的(包括後面的case語句)若干個語句直到遇到break語句為止。若沒有一個常量的值與switch後面表示式的值相同,則執行default後面的語句,default語句可以沒有。
【例項】用switch語句將數字對應的星期英文單詞表示出來。
注意:1.switch後面括號裡表示式的值必須是整形、字元型或字串型,case後面跟的常量值也是如此。
2.同一個switch語句,case的常量值必須互不相同。
3.case後面跟的常量值要與case隔一個空格,然後打上冒號。
4.每個case語句後面要寫上break,否則後面的所有語句(包括default語句)都會被執行)。如:
條件語句 if語句較為簡單,這裡只提switch語句啦~ switch語句首先計算表示式的值,如果表示式的值和某個case後面的變數值相同,則執行該case語句後的(包括後面的case語句)若干個語句直到遇到break語句為止。若沒有一個常量的值與switch後面表示式的值相同,則執行default後面的語句,default語句可以沒有。
【例項】用switch語句將數字對應的星期英文單詞表示出來。
public class Switch { public static void main(String[] args) { int week=3; switch(week) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Thursday"); break; default: System.out.println("Sorry,I don't know."); } } }
執行結果:
注意:1.switch後面括號裡表示式的值必須是整形、字元型或字串型,case後面跟的常量值也是如此。
public class Switch { public static void main(String[] args) { int week=2; switch(week) { case 1: System.out.println("Monday"); case 2: System.out.println("Tuesday"); case 3: System.out.println("Thursday"); default: System.out.println("Sorry,I don't know."); } } }
執行結果:
迴圈語句
while就不提啦,do...while與while語句的一個明顯區別是結尾的while後面多了一個分號,do...while是先執行一次迴圈再判斷條件是否成立,也就是說do...while中的程式段至少要被執行一次。
接下來是for迴圈。
語法如下:
for(表示式1;表示式2;表示式3)
{
程式段
}
在執行for迴圈時,首先執行表示式1(變數的初始化);然後判斷表示式2的值,若表示式2值為真,則進入迴圈體;
執行完迴圈體後計算表示式3(修整變數,改變迴圈條件)。這樣一輪迴圈就結束了,第二輪迴圈從計算表示式2開始,若表示式2的值為真,則繼續迴圈,反之跳出整個for語句。注:表示式1只執行了一次。
【例項】用for迴圈列印菱形。
public class 菱形 { public static void main(String[] arge) { int i, j, k; for(i=1;i<=4;i++) //控制菱形上半部分的行。 { for(j=1;j<=4-i;j++) //控制空格數。第一行3個空格,第二行2個空格,第三行1個空格,第四行0個空格, { System.out.print(" "); //所以第i行有4-i個空格。 } for(k=1;k<=2*i-1;k++) //控制*個數。第i行有2*i-1個"*"。 { System.out.print("*"); } System.out.println(); //相當於換行。 } for(i=1;i<=3;i++) //控制菱形下半部分3行。 { for(j=1;j<=i;j++) //控制空格數,第i行有i個空格。 { System.out.print(" "); } for(k=1;k<=7-2*i;k++) //控制*個數,第i行有7-2*i個"*"。 { System.out.print("*"); } System.out.println(); //相當於換行。 } } }
執行結果:
以上就是今天學的流程控制語句中比較有代表性的內容啦,列印菱形還是繞了挺久噠,還好最後還是弄懂啦,嗨森!