Java中的邏輯控制語句詳解
順序結構
我們之前寫的大多代碼都是順序結構的,即按照代碼的順序一行一行的執行
代碼1 System.out.println("you"); System.out.println("and"); System.out.println("me"); 代碼2 System.out.println("and"); System.out.println("me"); System.out.println("you");
上述代碼 1 運行結果:
you
and
me
代碼 2 運行結果:
and
me
you
分支結構
if 語句
基本語法格式:
if(佈爾表達式) { 代碼1 // 條件滿足時 執行 } else { 代碼2 // 條件不滿足時 執行 }
條件語句隻能是佈爾表達式
佈爾表達式的結果為 true,執行代碼1,否則執行代碼2
舉例:
如果 J 這次考到90分以上,獎勵一個大雞腿,否則獎勵一個大嘴巴子
int score = 95; if(score >= 90) { System.out.println("獎勵一個大雞腿!"); }else { System.out.println("獎勵一個大嘴巴子!"); }
註意事項:
懸垂else:
int x = 10; int y = 10; if (x == 10) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
運行結果:aaa
有多個 if 語句且沒有大括號時,else與最近的 if 匹配,故建議寫 if 語句時,加上大括號~
switch 語句
基本語法格式:
switch(表達式) { case 常量值1:{ 語句1; break; } case 常量值2:{ 語句2; break; } ... default:{ 內容都不滿足時執行語句; break; } }
執行流程:
- 先計算表達式的值
- 和 case 依次比較,一旦有響應的匹配就執行該項下的語句,直到遇到 break 時結束
- 當表達式的值沒有與所列項匹配時,執行 default 後的語句
註意事項:
- break 不能遺漏,否則會失去 “多分支選擇” 的效果
- case 的常量值不能重復
- 一般不推薦switch 嵌套使用
不能做switch參數的類型有哪些?
long,float,double,boolean
循環結構
while 循環
基本語法格式:
while(循環條件) { 循環語句; }
循環條件為 true, 則執行循環語句, 否則結束循環
while 循環輸入
Scanner scan = new Scanner(System.in); // Ctrl+C 直接中斷程序 // Ctrl+D 正常退出程序 while(scan.hasNext()){ int year = scan.nextInt(); if((year % 4==0 && year % 100!=0) || year % 400==0){ System.out.println("閏年!"); }else{ System.out.println("不是閏年!"); } }
Ctrl+C 直接中斷程序
Ctrl+D 正常退出程序
註意事項:
- 一定記得步進,否則可能出現死循環
- while 循環條件隻能是佈爾表達式
break
- break 功能:讓循環提前結束
- break隻能用於兩種情況,一個是switch,一個是循環
代碼示例:
求100-200中第一個既能被3整除也能被5整除的數:
int num = 100; while(num<=200){ if(num % 15==0){ System.out.println(num); break; //此處用break,因為break在while循環裡 } num++; }
執行結果: 105
continue
continue 功能:跳過這次循環,進入下次循環
若將上邊break 示例代碼 中的 break 換成 continue,則會循環打印 105
for 循環
基本語法格式:
for(表達式1; 佈爾表達式2; 表達式3){ 循環體; }
執行順序:
第一趟循環:
- 首先,執行表達式 1,且表達式 1 隻執行一次,即循環的初始化
- 判斷表達式 2 是否為真若為真,
- 則執行循環體
- 執行表達式3
第二趟循環:
- 判斷表達式 2 是否為真若為真,
- 則執行循環體
- 執行表達式3
一直到表達式2為假,循環結束
代碼示例:
for(int i=1; i<=10;i++){ System.out.println(i); }
do while 循環
先執行循環語句,再判定循環條件,條件成立則繼續執行,否則循環結束
基本語法格式:
do{ 循環語句; }while(循環體);
代碼示例:
打印數字 1 – 10
int num = 1; do { System.out.println(num); num++; }while( num<=10 );
註意事項: do while 循環最後的分號一定不要忘記一般不推薦使用do while語句
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!