Java基礎之選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)
一、選擇結(jié)構(gòu)
根據(jù)已知條件進行邏輯判斷,滿足條件后執(zhí)行響應的操作
1.1基本if選擇結(jié)構(gòu)
1.1.1語法
if(布爾表達式){ // 代碼塊 }
1.1.2執(zhí)行流程
對布爾表達式進行判斷:
如果結(jié)果為true,執(zhí)行代碼塊,執(zhí)行完成后執(zhí)行后續(xù)代碼;
如果結(jié)果為false,不會執(zhí)行代碼塊,執(zhí)行后續(xù)代碼
1.1.3代碼展示
public class Demo1 { public static void main(String[] args) { if(1==1) { System.out.println("判斷正確"); } System.out.println("程序運行結(jié)束"); } }
1.1.4運行結(jié)果
判斷正確
程序運行結(jié)束
1.2平衡if選擇結(jié)構(gòu)
1.2.1語法
if(布爾表達式){ // 代碼塊1 }else{ // 代碼塊2 }
1.2.2執(zhí)行流程
對布爾表達式進行判斷:
如果結(jié)果為true,執(zhí)行代碼塊1,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果結(jié)果為false,執(zhí)行代碼塊2,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
1.2.3代碼展示
public class Demo1 { public static void main(String[] args) { int score=79; if(score>60) { System.out.println("恭喜,成績及格"); }else { System.out.println("很遺憾,成績不及格"); } System.out.println("退出程序....."); } }
1.2.4運行結(jié)果
恭喜,成績及格
退出程序.....
1.3重復if選擇結(jié)構(gòu)
1.3.1語法
if(布爾表達式1){ // 代碼塊1 }else if(布爾表達式2){ // 代碼塊2 }… else if(布爾表達式n){ // 代碼塊n }else{ // 代碼塊n+1 }
1.3.2執(zhí)行流程
對布爾表達式1進行判斷:
如果布爾表達式1結(jié)果為true,執(zhí)行代碼塊1,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果布爾表達式1結(jié)果為false,對布爾表達式2進行判斷:
如果布爾表達式2結(jié)果為true,執(zhí)行代碼塊2,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果結(jié)果為false…
若所有表達式都為false,執(zhí)行執(zhí)行代碼塊n+1,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
所有if語句是相互排斥的,只要其中一個布爾表達式為true,其余不在執(zhí)行,適用于區(qū)間判斷
1.3.3代碼展示
public class Demo1 { public static void main(String[] args) { //score<60,不及格 //60<=score<80 中等 //80<=score<90 良好 // 90<=score<=100 優(yōu)秀 int score=79; if(score>=90) { System.out.println("恭喜,成績優(yōu)秀"); }else if(score>=80){ System.out.println("恭喜,成績良好"); }else if(score>=60) { System.out.println("恭喜,成績中等"); }else { System.out.println("很遺憾,成績不及格"); } System.out.println("退出程序....."); } }
1.3.4運行結(jié)果
恭喜,成績中等
退出程序....
1.4嵌套重復結(jié)構(gòu)
1.4.1語法
if(外部布爾表達式){ if(內(nèi)部布爾表達式){ //內(nèi)層代碼塊1 }else{ //內(nèi)層代碼塊2 } }else{ //外部代碼塊1 }
1.4.2執(zhí)行流程
先對外層布爾表達式進行判斷:
如果外層布爾表達式結(jié)果為true,再判斷內(nèi)層布爾表達式:
如果內(nèi)層布爾表達式結(jié)果為true,執(zhí)行內(nèi)層代碼塊1,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果內(nèi)層布爾表達式結(jié)果結(jié)果為false,執(zhí)行內(nèi)層代碼塊2,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果外層布爾表達式結(jié)果為false,執(zhí)行外層代碼塊1,并退出整個選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
一個選擇結(jié)構(gòu)中,可以嵌套另一個選擇結(jié)構(gòu),只要語法都符合規(guī)范
1.4.3代碼展示
public class Demo1 { public static void main(String[] args) { int score = 79; if (score > 60) { if (score == 100) { System.out.println("恭喜,不僅成績及格,還考了滿分哦!"); } else { System.out.println("成績及格,還需要再接再厲哦!"); } } else { System.out.println("很遺憾,成績不及格"); } System.out.println("退出程序....."); } }
1.4.4運行結(jié)果
成績及格,還需要再接再厲哦!
退出程序.....
二、分支結(jié)構(gòu)
2.1分支結(jié)構(gòu)
2.1.1語法
switch(變量|表達式){ case 值1: 邏輯代碼塊1; case 值2: 邏輯代碼塊2; case 值3: 邏輯代碼塊3; … case 值n: 邏輯代碼塊n; default: 未滿足的邏輯代碼塊; }
2.1.2執(zhí)行流程
如果變量中的值等于值1,則執(zhí)行邏輯代碼塊1,執(zhí)行后續(xù)代碼
如果變量中的值等于值2,則執(zhí)行邏輯代碼塊2,執(zhí)行后續(xù)代碼
如果沒有匹配的case值,則執(zhí)行default中的邏輯代碼。default也可以不存在
變量類型可以是byte、short、int 、char、string,適用于等值判斷
注意:當匹配的case執(zhí)行后,不會自動退出整個分支結(jié)構(gòu),而是繼續(xù)向下執(zhí)行。但break關鍵字可在匹配的case執(zhí)行后,跳出整個分支結(jié)構(gòu)。
2.1.3代碼展示
public class Demo1 { public static void main(String[] args) { int score = 80; switch (score) { case 90: System.out.println("成績優(yōu)秀"); break; case 80: System.out.println("成績良好"); case 60: System.out.println("成績及格"); break; case 59: System.out.println("成績不及格"); default: break; } } }
2.1.4運行結(jié)果
成績良好
成績及格
三、循環(huán)語句
通過某個條件,重復執(zhí)行一段邏輯代碼
3.1 while循環(huán)
3.1.1語法
初始化語句; while(布爾表達式循環(huán)條件){ 循環(huán)操作; 迭代部分; }
3.1.2執(zhí)行流程
先執(zhí)行初始化語句,再對布爾表達式進行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達式進行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達式為false,退出循環(huán),執(zhí)行后續(xù)代碼
循環(huán)操作可能執(zhí)行次數(shù)0~n次,適合循環(huán)次數(shù)確定
3.1.3代碼展示
public class Demo1 { public static void main(String[] args) { /*打印數(shù)字0-9*/ int i=0; while(i<10) { System.out.println(i); i++; } System.out.println("打印結(jié)束"); } }
3.1.4運行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.2do…while循環(huán)
3.2.1語法
初始化部分; do{ 循環(huán)操作; 迭代部分; }while(布爾表達式循環(huán)條件)
3.2.2執(zhí)行流程
先執(zhí)行初始化語句,執(zhí)行循環(huán)操作和迭代條件,判斷布爾表達式,如果結(jié)果為true,再次執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達式進行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達式為false,退出循環(huán),執(zhí)行后續(xù)代碼
循環(huán)操作可能執(zhí)行次數(shù)1~n次,適合循環(huán)次數(shù)不確定
3.2.3代碼展示
public class Demo1 { public static void main(String[] args) { /*打印數(shù)字0-9*/ int i=0; do{ System.out.println(i); i++; }while(i<10); System.out.println("打印結(jié)束"); } }
3.2.4運行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.3 for循環(huán)
3.3.1語法
for(初始化部分;布爾表達式循環(huán)條件;迭代部分){ 循環(huán)操作; }
3.3.2執(zhí)行流程
先執(zhí)行初始化語句,再對布爾表達式進行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達式進行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達式為false,退出循環(huán),執(zhí)行后續(xù)代碼
循環(huán)操作可能執(zhí)行次數(shù)0~n次,適合循環(huán)次數(shù)確定
3.3.3代碼展示
public class Demo1 { public static void main(String[] args) { /*打印數(shù)字0-9*/ for(int i=0;i<10;i++) { System.out.println(i); } System.out.println("打印結(jié)束"); } }
3.3.4運行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.4 嵌套循環(huán)語句
在一個完整循環(huán)語句中可以嵌套另一個完整循環(huán)條件
3.4.1代碼展示
public class Demo1 { // 打印九九乘法表 public static void main(String[] args) { for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(j+"*"+i+"="+(i*j)+" "); } System.out.println(); } } }
3.4.2運行結(jié)果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
3.5 流程控制關鍵字 break
用于跳出switch、循環(huán)語句整個結(jié)構(gòu)
3.5.1代碼展示
public class Demo1 { public static void main(String[] args) { int i=0; while(i<10) { System.out.println(i); i++; if(i==5) { break; } } } }
3.5.2運行結(jié)果
0
1
2
3
4
continue
跳出本次循環(huán),執(zhí)行下一次循環(huán)
3.5.3代碼展示
public class Demo1 { public static void main(String[] args) { int i=0; while(i<10) { System.out.println(i); i++; if(i==5) { continue; } } } }
3.5.4運行結(jié)果
0
1
2
3
4
5
6
7
8
9
3.6 循環(huán)組成部分
1.初始部分:用以判斷的變量
2.循環(huán)條件:決定是否繼續(xù)使用循環(huán)的依據(jù)
3.循環(huán)操作:滿足循環(huán)條件后單詞執(zhí)行的邏輯代碼
4.迭代部分:控制循環(huán)條件改變的增量
到此這篇關于Java基礎之選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的文章就介紹到這了,更多相關java選擇與循環(huán)結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Java選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的使用詳解
- Java流程控制之循環(huán)結(jié)構(gòu)for,增強for循環(huán)
- Java流程控制之循環(huán)結(jié)構(gòu)while、do...while
- java循環(huán)結(jié)構(gòu)、數(shù)組的使用小結(jié)
- 最詳細的Java循環(huán)結(jié)構(gòu)解析之for循環(huán)教程(適合小白)
- Java代碼的三根頂梁柱:循環(huán)結(jié)構(gòu)
- 淺析JAVA 循環(huán)結(jié)構(gòu)
- Java語法基礎之循環(huán)結(jié)構(gòu)語句詳解
- Java基礎知識精通循環(huán)結(jié)構(gòu)與break及continue
相關文章
Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用
以下是對Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用進行了詳細的介紹,需要的朋友可以過來參考下2013-09-09解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output
這篇文章主要介紹了解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output stream問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Java基本數(shù)據(jù)類型與封裝類型詳解(int和Integer區(qū)別)
這篇文章主要介紹了Java基本數(shù)據(jù)類型與封裝類型詳解(int和Integer區(qū)別) ,需要的朋友可以參考下2017-02-02使用SpringBoot項目導入openfeign版本的問題
這篇文章主要介紹了使用SpringBoot項目導入openfeign版本的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03