一、選擇結(jié)構(gòu)
根據(jù)已知條件進(jìn)行邏輯判斷,滿足條件后執(zhí)行響應(yīng)的操作
1.1基本if選擇結(jié)構(gòu)
1.1.1語法
if(布爾表達(dá)式){
// 代碼塊
}
1.1.2執(zhí)行流程
對布爾表達(dá)式進(jìn)行判斷:
如果結(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("程序運(yùn)行結(jié)束");
}
}
1.1.4運(yùn)行結(jié)果
判斷正確
程序運(yùn)行結(jié)束
1.2平衡if選擇結(jié)構(gòu)
1.2.1語法
if(布爾表達(dá)式){
// 代碼塊1
}else{
// 代碼塊2
}
1.2.2執(zhí)行流程
對布爾表達(dá)式進(jìn)行判斷:
如果結(jié)果為true,執(zhí)行代碼塊1,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果結(jié)果為false,執(zhí)行代碼塊2,并退出整個(gè)選擇結(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運(yùn)行結(jié)果
恭喜,成績及格
退出程序.....
1.3重復(fù)if選擇結(jié)構(gòu)
1.3.1語法
if(布爾表達(dá)式1){
// 代碼塊1
}else if(布爾表達(dá)式2){
// 代碼塊2
}…
else if(布爾表達(dá)式n){
// 代碼塊n
}else{
// 代碼塊n+1
}
1.3.2執(zhí)行流程
對布爾表達(dá)式1進(jìn)行判斷:
如果布爾表達(dá)式1結(jié)果為true,執(zhí)行代碼塊1,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果布爾表達(dá)式1結(jié)果為false,對布爾表達(dá)式2進(jìn)行判斷:
如果布爾表達(dá)式2結(jié)果為true,執(zhí)行代碼塊2,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果結(jié)果為false…
若所有表達(dá)式都為false,執(zhí)行執(zhí)行代碼塊n+1,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
所有if語句是相互排斥的,只要其中一個(gè)布爾表達(dá)式為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運(yùn)行結(jié)果
恭喜,成績中等
退出程序....
1.4嵌套重復(fù)結(jié)構(gòu)
1.4.1語法
if(外部布爾表達(dá)式){
if(內(nèi)部布爾表達(dá)式){
//內(nèi)層代碼塊1
}else{
//內(nèi)層代碼塊2
}
}else{
//外部代碼塊1
}
1.4.2執(zhí)行流程
先對外層布爾表達(dá)式進(jìn)行判斷:
如果外層布爾表達(dá)式結(jié)果為true,再判斷內(nèi)層布爾表達(dá)式:
如果內(nèi)層布爾表達(dá)式結(jié)果為true,執(zhí)行內(nèi)層代碼塊1,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果內(nèi)層布爾表達(dá)式結(jié)果結(jié)果為false,執(zhí)行內(nèi)層代碼塊2,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
如果外層布爾表達(dá)式結(jié)果為false,執(zhí)行外層代碼塊1,并退出整個(gè)選擇結(jié)構(gòu),執(zhí)行后續(xù)代碼
一個(gè)選擇結(jié)構(gòu)中,可以嵌套另一個(gè)選擇結(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運(yùn)行結(jié)果
成績及格,還需要再接再厲哦!
退出程序.....
二、分支結(jié)構(gòu)
2.1分支結(jié)構(gòu)
2.1.1語法
switch(變量|表達(dá)式){
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,適用于等值判斷
注意:當(dāng)匹配的case執(zhí)行后,不會自動退出整個(gè)分支結(jié)構(gòu),而是繼續(xù)向下執(zhí)行。但break關(guān)鍵字可在匹配的case執(zhí)行后,跳出整個(gè)分支結(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運(yùn)行結(jié)果
成績良好
成績及格
三、循環(huán)語句
通過某個(gè)條件,重復(fù)執(zhí)行一段邏輯代碼
3.1 while循環(huán)
3.1.1語法
初始化語句;
while(布爾表達(dá)式循環(huán)條件){
循環(huán)操作;
迭代部分;
}
3.1.2執(zhí)行流程
先執(zhí)行初始化語句,再對布爾表達(dá)式進(jìn)行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達(dá)式進(jìn)行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達(dá)式為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運(yùn)行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.2do…while循環(huán)
3.2.1語法
初始化部分;
do{
循環(huán)操作;
迭代部分;
}while(布爾表達(dá)式循環(huán)條件)
3.2.2執(zhí)行流程
先執(zhí)行初始化語句,執(zhí)行循環(huán)操作和迭代條件,判斷布爾表達(dá)式,如果結(jié)果為true,再次執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達(dá)式進(jìn)行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達(dá)式為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運(yùn)行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.3 for循環(huán)
3.3.1語法
for(初始化部分;布爾表達(dá)式循環(huán)條件;迭代部分){
循環(huán)操作;
}
3.3.2執(zhí)行流程
先執(zhí)行初始化語句,再對布爾表達(dá)式進(jìn)行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;執(zhí)行結(jié)束后,再次對布爾表達(dá)式進(jìn)行判斷,如果為true,執(zhí)行循環(huán)操作和迭代條件;一直循環(huán),直到布爾表達(dá)式為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運(yùn)行結(jié)果
0
1
2
3
4
5
6
7
8
9
打印結(jié)束
3.4 嵌套循環(huán)語句
在一個(gè)完整循環(huán)語句中可以嵌套另一個(gè)完整循環(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運(yùn)行結(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 流程控制關(guān)鍵字 break
用于跳出switch、循環(huán)語句整個(gè)結(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運(yùn)行結(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運(yùn)行結(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)條件改變的增量
到此本篇總結(jié) Java 基礎(chǔ)知識部分的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的文章就介紹到這了,想要了解更多相關(guān) Java 其他內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持!