JAVA基礎之其他流程控制語句 迴圈巢狀

2021-07-11 23:22:42 字數 3879 閱讀 1747

/*用迴圈巢狀列印出下面這副圖形。

*****

*****

*****

*****

根據以上圖形我們知道,這個圖形是5行,每行是5個*號。

我們可以將每一行看成乙個迴圈,把每行的每顆*看成乙個迴圈。

這自然就涉及到了迴圈巢狀。*/

for (int a=0;a<=4 ;a++ ) //外部迴圈就代表的每一行。迴圈五次就是五行。

system.out.println();//但是不加的話就會導致所有符號連成一行,這也不是我們需要的。

//所以我們在每一行迴圈完畢的時候輸出乙個換行命令,這條語句就是純粹的換行符。

}system.out.println("------------");

/*練習題2

列印出一下圖形

*****

****

*******/

int e=5;//定義第三方變數是為了控制每一行的*依次遞減。第一行是5個,所以我們初始值設為5.

for (int c=1;c<=5 ;c++ )//外迴圈依舊控制行數。

system.out.println();

e--;//遞減是因為外迴圈迴圈一次,*就少列印一次。

}//或者我們也可以這樣寫。

int f=1;

for (int g=1;g<=5 ;g++ )

system.out.println();

f++;//f我們賦值給了內迴圈變數,變數的最大值不變的情況下我們就只有自增來達到限定範圍的目的。

}//以上**我們發現f與g的值變化是相同的所以我們可以將f替換為g.

//新的**就可以這樣寫。

for (int g=1;g<=5 ;g++ )

system.out.println();

}system.out.println("-------------");

/*練習題3

列印出以下圖形。***

*******

*****

*/int x=5;

for (int b=1;b<=5 ;b++ )

system.out.println();

x--;

}//也可以寫作:

int a=1;

for (int b=1;b<=5 ;b++ )

system.out.println();

a++;

}//以上我們發現,a值與b值的變化是一樣的,我們同樣可以簡化寫為。

for (int b=1;b<=5 ;b++ )

system.out.println();

}system.out.println("------------");

/*練習題4

列印出以下圖形

54321

5432

543545*/

int yuer=1;

for (int c=1;c<=5 ;c++ )

system.out.println();

yuer++;

}//同樣,yuer的值和c的值變化是一樣的。我們一樣可以寫為。

for (int c=1;c<=5 ;c++ )

system.out.println();

}system.out.println("------------");

/*練習題5

列印出以下圖形122

3334444

55555

*/for (int b=1;b<=5 ;b++ )

//每行出現的數字正好對應行數,所以我們列印行數即可。

system.out.println();

}system.out.println("------------");

/*練習題6

列印出以下圖形。

* * * * * 

* * * *

* * * 

* **

*/for (int b=1;b<=5 ;b++ )

for (int c=b;c<=5 ;c++ )

system.out.println();

}system.out.println("------------");

/*練習題7

列印出99乘法表  */

for (int b=1;b<=9 ;b++ )//99乘法表有9行。

system.out.println();

}/*轉義字元:

\n 回車

\t 製表符

\b 退格

\r 按下回車鍵

其他流程控制語句

應用範圍:選擇結構和迴圈結構。也就是switch語句和迴圈語句。

switch語句已經知道break怎麼使用,這裡單獨說說迴圈語句。

比如:*/

for (int b=1;b<3 ;b++ )

/*注意:不能將break放在執行語句的上面,執行語句執行不到編譯會報錯。

還有一種情況也要注意。*/

for (int b=0;b<2 ;b++ )

system.out.println("hello frend.");

}/*雖然break作為if語句的執行語句出現,但是它跳出的卻不是if語句,

而是整個for迴圈結構。因為break只能跳出switch語句和迴圈語句。

所以這裡的執行順序是for條件滿足後,進入迴圈體,第一次b賦值為0,不執行if語句,break就執行不到

輸出"hello frend.",然後b自增,滿足條件繼續迴圈,if判斷為true,執行break跳出。

到這裡整個迴圈結構結束。

還有一種情況。*/

for (int b=0;b<3 ;b++ )

}system.out.println("------------");

/*當有迴圈巢狀的時候,break只會跳出當前所在的迴圈,而不是整個迴圈。

如果想要跳出指定的迴圈,就得給迴圈命名,break後跟上迴圈名即可。

比如:*/

yinyin:for (int b=0;b<3 ;b++ )

}/*上面指定了跳出的迴圈體,所以就只會執行一次c=0整個迴圈就結束了。

不過給迴圈命名這種方法用得不多,作為了解即可。

其他流程控制語句

作用範圍:迴圈結構。

如果出現在其他地方,編譯會失敗。

例如:*/

for (int b=0;b<4 ;b++ )

system.out.println("hello world.");

}system.out.println("------------");

/*上面如果我們將continue寫在輸出語句的下面是沒有意義的,因為迴圈本來就會繼續執行

所以我們將它放到if語句裡面才能準確的體現他的特點。

上面迴圈的執行順序是:boolean表示式條件滿足,執行if語句,0模運2是等於0的,所以執行

continue,輸出語句不再執行,直接返回到b變數自增,然後再判斷boolean表示式結果

條件滿足,進入if語句,1模運2不等於0,if判斷結果為false,不執行裡面的continue,

繼續向下執行輸出語句。

所以,最終會輸出兩次「hello world。」

因為0,2,才會滿足if語句裡面的條件。

由此我們看出continue的特點:

結束本次迴圈,繼續下次迴圈。

所以continue單獨存在時,除非特殊情況,否則不要有任何語句,因為執行不到。

同樣,continue也可應用於迴圈巢狀;*/

yinyin:for (int b=0;b<3 ;b++ )

}/*這裡如果迴圈不命名的話,continue所在的位置存在意義不大。

迴圈體本應該輸出執行語句9次。

因為命名了迴圈體,continue執行的是外迴圈,所以只執行3次執行語句輸出。

JAVA基礎 流程控制語句 二

前言 正文迴圈語句用於反覆執行一段 直到滿足終止迴圈的條件為止。public class whiledemo public class dowhiledemo while i 5 迴圈條件 for 迴圈語句 迴圈結構 for 初始化表示式 迴圈條件表示式 迴圈後的操作表示式 for 迴圈 編寫格式 ...

JAVA流程控制語句

順序結構 自上而下地逐行執行 輸入資料 處理資料 輸出結果。選擇結構 根據邏輯判斷 的執行順序.if 條件表示式 else else class aaa else 迴圈結構 根據邏輯重複執行某個 塊 布林表示式,expresion1 為真,則 expresion2 被求值 expresion1為假,...

Java 流程控制語句

流程控制語句需要掌握的內容有if else 判斷題 switch 選擇題 while 迴圈語句 do while 迴圈語句 for迴圈 和foreach。還包括 continue break 關鍵字的使用。1 關於swiftch 後面小括號的值 只能 是 int byte char short st...