Java中的邏輯控制語句詳解
順序結(jié)構(gòu)
我們之前寫的大多代碼都是順序結(jié)構(gòu)的,即按照代碼的順序一行一行的執(zhí)行
代碼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 運行結(jié)果:
you
and
me
代碼 2 運行結(jié)果:
and
me
you
分支結(jié)構(gòu)
if 語句
基本語法格式:
if(布爾表達(dá)式) { 代碼1 // 條件滿足時 執(zhí)行 } else { 代碼2 // 條件不滿足時 執(zhí)行 }
條件語句只能是布爾表達(dá)式
布爾表達(dá)式的結(jié)果為 true,執(zhí)行代碼1,否則執(zhí)行代碼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");
運行結(jié)果:aaa
有多個 if 語句且沒有大括號時,else與最近的 if 匹配,故建議寫 if 語句時,加上大括號~
switch 語句
基本語法格式:
switch(表達(dá)式) { case 常量值1:{ 語句1; break; } case 常量值2:{ 語句2; break; } ... default:{ 內(nèi)容都不滿足時執(zhí)行語句; break; } }
執(zhí)行流程:
- 先計算表達(dá)式的值
- 和 case 依次比較,一旦有響應(yīng)的匹配就執(zhí)行該項下的語句,直到遇到 break 時結(jié)束
- 當(dāng)表達(dá)式的值沒有與所列項匹配時,執(zhí)行 default 后的語句
注意事項:
- break 不能遺漏,否則會失去 “多分支選擇” 的效果
- case 的常量值不能重復(fù)
- 一般不推薦switch 嵌套使用
不能做switch參數(shù)的類型有哪些?
long,float,double,boolean
循環(huán)結(jié)構(gòu)
while 循環(huán)
基本語法格式:
while(循環(huán)條件) { 循環(huán)語句; }
循環(huán)條件為 true, 則執(zhí)行循環(huán)語句, 否則結(jié)束循環(huán)
while 循環(huán)輸入
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 正常退出程序
注意事項:
- 一定記得步進,否則可能出現(xiàn)死循環(huán)
- while 循環(huán)條件只能是布爾表達(dá)式
break
- break 功能:讓循環(huán)提前結(jié)束
- break只能用于兩種情況,一個是switch,一個是循環(huán)
代碼示例:
求100-200中第一個既能被3整除也能被5整除的數(shù):
int num = 100; while(num<=200){ if(num % 15==0){ System.out.println(num); break; //此處用break,因為break在while循環(huán)里 } num++; }
執(zhí)行結(jié)果: 105
continue
continue 功能:跳過這次循環(huán),進入下次循環(huán)
若將上邊break 示例代碼 中的 break 換成 continue,則會循環(huán)打印 105
for 循環(huán)
基本語法格式:
for(表達(dá)式1; 布爾表達(dá)式2; 表達(dá)式3){ 循環(huán)體; }
執(zhí)行順序:
第一趟循環(huán):
- 首先,執(zhí)行表達(dá)式 1,且表達(dá)式 1 只執(zhí)行一次,即循環(huán)的初始化
- 判斷表達(dá)式 2 是否為真若為真,
- 則執(zhí)行循環(huán)體
- 執(zhí)行表達(dá)式3
第二趟循環(huán):
- 判斷表達(dá)式 2 是否為真若為真,
- 則執(zhí)行循環(huán)體
- 執(zhí)行表達(dá)式3
一直到表達(dá)式2為假,循環(huán)結(jié)束
代碼示例:
for(int i=1; i<=10;i++){ System.out.println(i); }
do while 循環(huán)
先執(zhí)行循環(huán)語句,再判定循環(huán)條件,條件成立則繼續(xù)執(zhí)行,否則循環(huán)結(jié)束
基本語法格式:
do{ 循環(huán)語句; }while(循環(huán)體);
代碼示例:
打印數(shù)字 1 - 10
int num = 1; do { System.out.println(num); num++; }while( num<=10 );
注意事項: do while 循環(huán)最后的分號一定不要忘記一般不推薦使用do while語句
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Spring?Boot中@Validated注解不生效問題匯總大全
這篇文章主要給大家介紹了關(guān)于Spring?Boot中@Validated注解不生效問題匯總的相關(guān)資料,@Validated注解是Spring框架中的一個注解,用于在方法參數(shù)上添加參數(shù)校驗規(guī)則,需要的朋友可以參考下2023-07-07Java線上問題排查神器Arthas實戰(zhàn)原理解析
原先我們Java中我們常用分析問題一般是使用JDK自帶或第三方的分析工具如jstat、jmap、jstack、?jconsole、visualvm、Java?Mission?Control、MAT等,還有一款神器Arthas工具,可幫助程序員解決很多繁瑣的問題,感興趣的朋友一起看看吧2022-01-01