Java基礎之結構-->>條件結構與循環結構
Java中程序流程控制語句包括條件結構、循環結構和跳轉語句
4.1條件結構
條件結構包括順序結構和選擇結構。順序結構在程序執行中沒有跳轉和判斷,知道程序結束為止。選擇結構包括 if 語句,if-else 語句,switch 語句,在程序執行過程中可以改變程序的執行流程。
4.1.1 if 語句
if 語句是條件判斷後再處理的一種語法結構
if(條件表達式){ //條件成立後執行 一條或多條語句 } //條件表達式的值只能是 boolean 類型 false / true
4.1.2 if-else 語句
if-else 語句又稱為雙分支選擇結構
if(條件表達式){ 語句1//當條件表達式成立,執行1 }else{ 語句2 //當條件表達式不成立,執行2 }
示例:
int num1 = 60; int num2 = 90; if(num1 > num2){ System.out.println("num1大於num2"); }else{ System.out.println("num2大於num1"); } // num2大於num1
4.1.3 if-else-if 語句
if(條件表達式1){ //如果條件表達式1成立 語句塊1 //就執行語句塊1的代碼}else if(條件表達式2){ //否則,如果條件表達式2成立 語句塊2 //就執行語句塊2的代碼 }else if(條件表達式n){ //如果條件表達式n成立 語句塊n //就執行語句塊n的代碼 } .... //對其他條件進行判斷 else{ //如果以上所有條件都不成立 語句塊 n+1 //就執行語句塊 n+1 代碼 }
根據學生成績,判斷屬於哪個檔次,並輸出:
class twoday { public static void main(String[] args) { int score = 100; if(score>=90){ System.out.println("優"); }else if(score >=80){ System.out.println("良"); }else if(score>=60){ System.out.println("合格"); }else{ System.out.println("不合格"); } } } // 優
4.1.4 選擇語句的嵌套
選擇語句的嵌套是指在 if 語句中再嵌套 if 語句
if(條件表達式1){ if(條件表達式2){ 語句塊1 }else{ 語句塊2 } }else{ if(條件表達式3){ 語句塊3 }else{ 語句塊4 } }
使用嵌套的 if 語句,根據學生成績判斷屬於哪個檔次
class twoday { public static void main(String[] args) { int score = 85; if(score >=60){ if(score>=80){ if(score>=90){ System.out.println("優"); }else{ System.out.println("良"); } }else{ System.out.println("合格"); } }else{ System.out.println("不合格"); } } } //良
4.1.5 switch 語句
switch 語句屬於多分支結構,可以代替復雜的 if-else-if 語句,表達式的結果類型只能是 byte ,short , int ,char 類型,switch 語句是多分支的開關語句
switch(表達式){ case 常量表達式1 : 語句組 1; break; case 常量表達式2 : 語句組 2; break; case 常量表達式3 : 語句組 3; break; ..... default: 語句組 n; }
用switch語句輸出學生成績:
class twoday { public static void main(String[] args) { int score = 80; int rank = score /10; //將100分制轉換為 10分制,方便判斷 switch( rank ){ case 10: case 9: System.out.println("優"); break; case 8: case 7: System.out.println("良"); break; case 6: System.out.println("合格"); break; default: System.out.println("不合格"); } } } //良
4.1.6 if 與 switch 的區別
if 語句和 switch 語句結構很相似,都是多分枝選擇語句,但是switch 結構只能處理等值條件判斷,而且必須是整型變量或者字符型變量,而多重 if 結構沒有這個限制。使用 switch 結構時不要忘記每個 case 最後加 break ;通常情況,分支超過3層,使用 switch 語句,如果條件判斷一個範圍,使用 if-else-if 語句。
4.2 循環結構
循環結構一般包括 for , while , do-while 共3種循環語句
4.2.1 while 循環語句
while 循環首先判斷循環條件是否滿足,如果第一次循環條件不滿足,直接跳出循環,循環不會執行,while 循環的特點,先判斷,後執行。
while (布爾表達式) { 語句或語句塊; }
使用while 循環輸出1~100
class twoday { public static void main(String[] args) { int i=1; while(i<=100){ //循環表達式 System.out.println(i); i++; //循環變量自增1 } } }
4.2.2 do-while 循環語句
先執行 do 後面的循環體語句,然後對 while 後面的布爾表達式進行判斷,如果為 true,則再次執行 do 後面的循環體,並再次對布爾表達式的值進行判讀。否則結束循環體,do-while 特點是條件表達式無論是否成立,都至少會執行一次。
do{ 語句或語句塊 }while(布爾表達式);
通過 do-while 輸出1~100
class twoday { public static void main(String[] args) { int i=1; do{ System.out.println(i); //do 先執行一次輸出 i++; }while(i<=100); } }
4.2.3 while 與 do-while 的區別
while 語句是先判斷後執行,do-while 是先執行後判斷,(如果條件表達式不成立,while不會執行。do-while 語句至少會執行一次)。
4.2.4 for循環語句
for(初始化表達式;條件表達式;叠代語句){ 循環體語句; }
初始化表達式只在循環前執行一次,通常作為叠代變量的定義。條件表達式是一個布爾表達式,當值為 true 時,才會繼續執行 for 語句的循環體語句,叠代表達式用於改變循環條件的語句,如自增,自減等運算。
for循環語句的執行過程:
①執行初始化表達式
②對中間的條件表達式值進行判斷,如果為 true,則繼續執行後面的循環體語句
③執行叠代表達式,改變循環變量的值
④重復執行上述兩步,開始下一次循環,直到某次中間的條件表達式為 false,結束整個循環語句
用for 循環輸出 1~100
class twoday { public static void main(String[] args) { for(int i=0;i<=100;i++){ //定義循環變量,循環語句,初始化值為 0 ; System.out.println(i); } } }
註:即使表達式為空,分隔3個表達式的分號“;”也不能省略。
for(;;;){ } //合法的,正確的
4.2.5 嵌套循環語句
①while 語句嵌套
while(條件表達式1){ while(條件表達式2){ ..... } }
②do-while 語句嵌套
do{ do{ ... }while(條件表達式1); }while(條件表達式2);
③for語句與while循環嵌套
for(;;){ while(條件表達式){...} }
④for語句嵌套
for(;;){ for(;;){...} }
⑤for 循環與 do-while循環嵌套
for(;;){ do{...}while(條件表達式); }
⑥while循環與for循環嵌套
while(條件表達式){ for(;;){...} }
⑦do-while循環與for循環嵌套
do{ for(;;){...} }while(條件表達式);
⑧do-while循環與while循環嵌套
do{ while(條件表達式1){...} }while(條件表達式2);
⑨while循環與do-while循環嵌套
while(條件表達式1){ do{...}while(條件表達式2); }
使用嵌套循環用“*”輸出直角三角形
class twoday { public static void main(String[] args) { int i, j; for(i=0;i<6;i++){ //第一重循環控制行數 for(j=0;j<i;j++){ //第二重循環控制*數量 System.out.print("*"); //輸出* } System.out.println(); //換行 } } } /* * ** *** **** ***** */
4.3 跳轉語句
跳轉語句有 break,continue和return
4.3.1 break 跳轉語句
當循環結構中執行到 break 語句時,它立即停止當前循環並執行循環下面的語句
在循環結構中使用 break 輸出0~99
class twoday { public static void main(String[] args) { int i; for(i=1;i<101;i++){ if(i==100){ break; //當i=100時停止循環 } System.out.println(i); } } } // 1 2 3 4 5 ...99
當i=100時,執行break語句,終止循環,在一個循環中可以有多個break語句,break不是專門用來終止循環的,只有在某些情況下來取消一個循環。
4.3.2 continue 跳轉語句
continue 是跳過本次循環,執行下一次循環語句
class twoday { public static void main(String[] args) { int i; for(i=1;i<101;i++){ if(i==3){ //當i=3時,跳過本次循環,繼續執行後面 continue; } System.out.println(i); } } } // 1 2 4 5 ...99
4.3.3 break和continue的區別
continue 語句只結束本次循環,而不是終止整個循環的執行。而break 語句則是結束整個循環過程,不再判斷執行循環的條件是否成立。
4.3.4 return 跳轉語句
return 語句是終止當前方法運行,返回到調用該方法的語句處,該語句還提供相應返回值
if(x>=0){ return true; } return false; }
當 if 條件語句結果為true 時,執行第一條 return 語句,退出方法。下面(return false)跳過不執行
非常感謝<從零開始學Java>一書對我的幫助,本文借鑒於此,僅用來學習,回顧,鞏固。再次感謝。
Java基礎之結構-->>條件結構與循環結構