流程結構一共有三種,順序結構,選擇結構,迴圈結構。任何問題都能使用這三種結構來解決。
順序結構
就是從上往下依次執行
選擇結構
if語句有三種形式
1.if(條件表示式)
當if中的條件為true的時候,執行大括號中的執行體,當if中的條件為false的時候,什麼也不執行。
2.if(條件表示式)else
當if中的條件為true時,執行if的執行體,當if中的條件為false時,執行else的執行體
3.if(條件表示式1)else if(條件表示式2)...else
在if...else if...else語句中,首先判斷條件1是否滿足,不滿足再判斷條件二是否滿足……只要有乙個條件滿足,則後面的條件都不再執行。
所以,多條件判斷用 if...else if...else 效率更高
格式:
1 switch(表示式)
case 中的常量型別可以是 byte、short、int、char、enum、string
其中enum是jdk5開始支援的,string 是jdk7開始支援
需要注意的問題有:
1.執行順序與default書寫的位置無關,一定是先與case比較,沒有符合的case時才走default
1 switch(i)
結果:
2星期二8
輸入錯誤!請輸入數字1-7之間的整數!
2.符合case條件時,才會執行語句
3.break起跳出switch語句的作用,沒有break會在符合條件的時候一直向下穿透
此時如果default寫在最後,也會執行default裡面的語句,如:
1 switch(i)
請輸入數字1-7之間的整數,輸入字元退出6星期六
星期日輸入錯誤!請輸入數字1-7之間的整數!
程式結束!
default寫在上面則不會執行
另,執行體相同的case可以合併
迴圈結構
1.while(迴圈條件)
2.dowhile(迴圈條件);
do...while 迴圈的特點是不管條件滿不滿足,都先執行一次迴圈體
3.for 迴圈
死迴圈的寫法
while(true){}
for(;true;){}
for(;;){}
do{}while(true);
注意,while(true){}; //編譯會報錯,最後的分號會是無法訪問的語句
巢狀迴圈
巢狀迴圈是指在乙個迴圈結構中巢狀另乙個迴圈結構。while、do…while、for迴圈語句都可以進行巢狀,並且它們之間也可以互相巢狀。用的最多的是for迴圈巢狀for迴圈。
總迴圈次數等於內迴圈次數乘以外迴圈次數。
跳出迴圈涉及到兩個關鍵字break和continue
break 是終止整個迴圈,如果是在巢狀的迴圈中,那麼就是跳出離 break 最近的迴圈
(break 還可作用於switch條件語句中,作用是終止某個case並跳出switch結構)
continue 是終止本次迴圈,繼續執行程式,如果是在巢狀迴圈中,則跟break一樣是就近原則
要想跳出外層迴圈可以對要跳出的迴圈使用標記,如:
1 a: for(int i=1;i<=9;i++)6system.out.println();
7 }
1 a: for(int i=1;i<=9;i++)6system.out.println();
7 }
*********************************************=
列印腰為6的等腰直角三角形
分析:一共要列印6行,所以外層迴圈次數是6,
而這6行,每一行列印的列數依次為 1 2 3 4 5 6,為遞增等差數列 an = a1+(n-1)*d
i: 1 2 3 4 5 6
j:1 2 3 4 5 6
j =i;
1for(int i=1;i<=6;i++)
5system.out.println();
6 }
結果為:
** *
* * *
* * * *
* * * * *
* * * * * *
如果要倒著列印即列印出如下結果
* * * * * *
* * * * *
* * * *
* * *
* **
分析:一共要列印6行,所以外層迴圈次數是6,
而這6行,每一行列印的列數依次為 6 5 4 3 2 1,為遞減等差數列 an = a1+(n-1)*d
i: 1 2 3 4 5 6
j:6 5 4 3 2 1
j =6+(i-1)*(-1)=7-i;
所以程式為
1for(int i=1;i<=6;i++)
5system.out.println();
6 }
列印腰為3的等腰三角形
oo o o
o o o o o
分析:便於效果的觀察,可以理解為列印出
x x x o
x x o o o
x o o o o o
所以,第一步要列印出
x x x
x xx
內迴圈每次列印的個數為 3 2 1,為遞減等差數列
an = a1+(n-1)*d
i: 1 2 3
j: 3 2 1
j=3+(i-1)*(-1)=4-i;
**為
1for(int i=1;i<=3;i++)
5system.out.println();
6 }
接下來要列印的是
x x x o
x x o o o
x o o o o o
在第一次列印的基礎上,每一行後面又是 o ,個數分別為1 3 5 7 9 等差數列 , j = 2*i - 1;
**為
1for(int i=1;i<=3;i++)
5for(int j=1;j<=2*i-1;j++)
8system.out.println();
9 }
最後將 『x』 替換成空格就可以列印出題目中的等腰三角形了
Python流程控制語句流程控制語句
流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...
流程控制語句
for a b c 若迴圈體中出現continue,c語句仍得到執行。while dowhile b 執行完do後大括號,再檢驗while b 條件,若為真,繼續。從而有a語句塊至少執行一次的特性。continue 迴圈體內餘下語句忽略,繼續下次迴圈。break用於跳出迴圈或switch.case....
流程控制語句
迴圈 while do while for 判斷 if else switch case 異常處理 try catch finally throw 分支 break continue label return 迴圈 while和do while語句 while語句用於在條件保持為true時反覆執行乙...