您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java中如何實現(xiàn)邏輯控制,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
順序結(jié)構(gòu)比較簡單,就是代碼一行一行的執(zhí)行,本節(jié)之前寫的所有代碼都是順序結(jié)構(gòu)。
例如:
public static void main(String[] args) { int a=10; System.out.println(a); System.out.println("hhhh"); double f=10.732; System.out.println(f);
if(布爾表達式){
//條件滿足時的要執(zhí)行的語句
}
public static void main(String[] args) { int a=10; int b=20; if(a<b){ System.out.println(a);//a是10 b是20 a<b條件成立執(zhí)行該語句 } if(a>b){ System.out.println(b);//a是10 b是20 a>b條件不成立不執(zhí)行該語句 }
if(布爾表達式){
//條件成立是執(zhí)行的語句
}
else{
//條件不成立時執(zhí)行的語句
}
public static void main(String[] args) { int a=10; int b=20; if(a>b){ System.out.println(a);//a是10 b是20 a>b條件不成立不執(zhí)行該語句 } else{ System.out.println(b);//a是10 b是20 a>b條件成立執(zhí)行該語句 } }
if(布爾表達式1){
//表達式1為true,執(zhí)行的代碼
}
else if(布爾表達式2){
//表達式2為true,執(zhí)行的代碼
}
else{
//表達式1和表達式2都為falses,執(zhí)行的代碼
}
public static void main(String[] args) { int a=10; int b=10; if(a>b){ System.out.println(a);//表達式1不成立,該語句不執(zhí)行 } else if(b>a){ System.out.println(b);//表達式2不成立。該語句不執(zhí)行 } else{ System.out.print("a=b=");//表達式1和表達式2都不成立,該語句執(zhí)行 System.out.println(a);//注意:表達式成立時執(zhí)行的語句可以是多條 } }
if語句可以嵌套使用,當(dāng)if(布爾表達式)中的表達式成立時,就會執(zhí)行對應(yīng)的語句塊 ,在這個對應(yīng)的語句塊中也可以使用if語句
例如:找出三個數(shù)中最大的數(shù)
public static void main(String[] args) { int a=50; int b=70; int c=20; System.out.print("最大的數(shù)是"); if(a>b){ //a>b不成立,所以不執(zhí)行改語句塊 if(c>a){ System.out.println(c); } else{ System.out.println(a); } } else{ //a>b不成立,所以執(zhí)行該語句塊 if(c>b){ System.out.println(c);//c>b不成立,不執(zhí)行該語句 } else{ System.out.println(b);//c>b不成立,所以執(zhí)行改語句 } } }
if語句中的布爾表達式成立時,會執(zhí)行if所對應(yīng)的語句塊。如果不加“{}”時,就會執(zhí)行緊隨其后的一條語句
例如:
public static void main(String[] args) { int a=10; int b=20; if(a>b) System.out.println(a);//此時if條件不成立,所以不會執(zhí)行這條語句 System.out.println(b);//雖然if條件不成立,但是這條語句已經(jīng)超出了if //語句塊,所以這條語句還會執(zhí)行 }
switch ( 整數(shù) | 枚舉 | 字符 | 字符串 ){
case 內(nèi)容 1 : {
內(nèi)容滿足時執(zhí)行語句 ;
[ break ;]
}
case 內(nèi)容 2 : {
內(nèi)容滿足時執(zhí)行語句 ;
[ break ;]
}
...
default :{
內(nèi)容都不滿足時執(zhí)行語句 ;
[ break ;]
}
public static void main(String[] args) { int day=5; switch (day){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期天"); break; default: System.out.println("輸入錯誤"); break; } }
根據(jù) switch 中值的不同 , 會執(zhí)行對應(yīng)的 case 語句 . 遇到 break 就會結(jié)束該 case 語句 . 如果 switch 中的值沒有匹配的 case, 就會執(zhí)行 default 中的語句 . 我們建議一個 switch 語句最好都要帶上 default.
while(布爾表達式){
//要執(zhí)行的語句塊;
}
當(dāng)布爾表達式為true,循環(huán)執(zhí)行要執(zhí)行的語句塊,否則結(jié)束循環(huán)。
public static void main(String[] args) { int i=1; while(i<=10){ System.out.println(i); i++; } }
注意事項:
1. 和 if 類似, while 下面的語句可以不寫 { } , 但是不寫的時候只能支持一條語句. 建議還是加上 { }
2. 和 if 類似, while 后面的 { 建議和 while 寫在同一行.
3. 和 if 類似, while 后面不要多寫 分號, 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行。
break 的功能是讓循環(huán)提前結(jié)束 .
例如:找出1~10中第一個3的倍數(shù)
public static void main(String[] args) { int i=1; while(i<=10){ if(i%3==0){ System.out.println(i); break;//遇到break語句,循環(huán)結(jié)束 } i++; } }
continue 的功能是跳過這次循環(huán) , 立即進入下次循環(huán) .
例如:找出1~10之間所有的偶數(shù)
public static void main(String[] args) { int i=1; while(i<=10){ if(i%2!=0){ i++; continue;//遇到continue語句,會直接進入下一次循環(huán),不會執(zhí)行后面的語句 } System.out.println(i); i++; } }
for(表達式1;布爾表達式2;表達式3){
//循執(zhí)行的語句塊
}
首次循環(huán):首先執(zhí)行表達式1,再執(zhí)行布爾表達式2,然后執(zhí)行循環(huán)體;最后執(zhí)行表達式3。
其余循環(huán): 首先執(zhí)行布爾表達式2,然后執(zhí)行循環(huán)體,最后執(zhí)行表達式3。
結(jié)束循環(huán): 布爾表達式的值為false.
輸出1~10之間的所有數(shù)
public static void main(String[] args) { for (int i =1; i <=10 ; i++) { System.out.println(i); } }
注意事項:
1:break和continue對for循環(huán)同樣適用。
2:和 if 類似 , for 下面的語句可以不寫 { } , 但是不寫的時候只能支持一條語句 . 建議還是加上 { }
3: 和 if 類似 , for 后面的 { 建議和 while 寫在同一行 .
4:和 if 類似 , for 后面不要多寫 分號 , 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行
do{
//循環(huán)執(zhí)行的語句
}while(布爾表達式);
首先執(zhí)行循環(huán)語句,然后再判斷布爾表達式是后為true.
因此,無論布爾表達式的值是否是true,第一次循環(huán)都會執(zhí)行。
打印1~10
public static void main(String[] args) { int i=1; do{ System.out.println(i); i++; }while (i<=10); }
演示布爾表達式不成立,循環(huán)語句執(zhí)行一次
public static void main(String[] args) { int i=0; do{ System.out.println(i); }while (i>0);//i=0 i>0表達式的值為false }
public static void main2(String[] args) { for (int i = 1000; i <=1200 ; i++) { if(i%100!=0&&i%4==0||i*400==0) { System.out.println(i); } } }
public static void main(String[] args) { int i=1; int num=0; while(i<=100){ int j=i; /* 求出一個數(shù)各個位上的數(shù)字 循環(huán)執(zhí)行以下操作 第一步:用這個數(shù)取余10的到個數(shù) 第二步:這個數(shù)除等10 第三步:判斷這個數(shù)是不是0 */ while (j>0){ if(j%10==9) { num++; } j=j/10; } i++; } System.out.println(num);//9 19 29 39 49 59 69 79 89 中各出現(xiàn)一次9 //90 91 92 93 94 95 96 97 98中各出現(xiàn)一次9 //99中出現(xiàn)兩次9 總共20個9 }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java中如何實現(xiàn)邏輯控制”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。