1. 順序結構:
按照代碼的順序從上往下依次執行。
2. 選擇結構(分支結構):有兩種實現方式
if…else語句
public static void main(String[] args) {
intsalary =5000;
if (salary < 1000) {
System.out.println("屬於低薪階層");
}else if(salary <3000) {
System.out.println("不錯了有錢了");
}else{
System.out.println("哎呦,高薪哦");
}
}
運行結果:
哎呦,高薪哦
switch語句(開關語句)
public static void main(String[] args) {
intcount =2;
switch (count) {
case1:
System.out.println("數量爲1");
case 2:
System.out.println("數量爲2");
case 3:
System.out.println("數量爲3");
default:
System.out.println("數量不清楚哦");
}
}
運行結果:
數量爲2
數量爲3
數量不清楚哦
結果分析:
case語句中不加break的話 , 在第一個case匹配之後 ,下面的case就不進行判斷操作了 ,直接執行case內部的語句。
正確代碼如下:
public static void main(String[] args) {
intcount =2;
switch (count) {
case1:
System.out.println("數量爲1");
break;
case 2:
System.out.println("數量爲2");
break;
case 3:
System.out.println("數量爲3");
break;
default:
System.out.println("數量不清楚哦");
break;
}
}
運行結果:
數量爲2
注意事項:
switch的取值範圍byte、char、short、int、String還有枚舉類型,long類型是不能作用在switch語句上的。
3. 循環結構: 有兩種實現方式
- for…語句循環
for (inti =0;i <3;i++) {
System.out.println("i = "+ i);
}
運行結果 :
i = 0
i = 1
i = 2
for循環執行順序:
- 第一次循環執行初始化int i = 0, 然後執行判斷i < 3, 如果結果爲true, 執行循環體
- 接下來的循環, 先執行判斷, 如果結果爲true, 再執行循環體
- 直到不再滿足i < 3 這個條件, 就跳出循環
- while…語句循環
public static void main(String[] args) {
intsum =0,i =1;
while (i <= 100) {
sum += i++;
}
System.out.println("sum = "+ sum);
}
運行結果:
sum = 5050
public static void main(String[] args) {
intsum =0,i =101;
do {
sum += i++;
}while(i <=100);
System.out.println("sum = "+ sum);
}
運行結果:
sum = 101
結果分析:
do…while循環的過程中 , 先執行do語句 , 再執行while判斷 , 而while…語句是先執行判斷 ,再執行循環體。
- continue,break循環控制
public static void main(String[] args) {
for(inti =0;i <4;i++) {
if((i &1) ==0) {
System.out.println(i +"爲偶數 ,不打印");
continue;
}
System.out.println("打印"+ i);
}
}
執行結果:
0 爲偶數 ,不打印
打印1
2 爲偶數 ,不打印
打印3
結果分析:
continue是結束當前這次循環 , 繼續進行下次循環
public static void main(String[] args) {
inti =0;
flag:
for(;i <10;) {
if(i <5) {
System.out.println(i +" <5 ,不打印");
i +=4;
continue flag;
}
System.out.println("打印"+ i);
i +=3;
}
}
運行結果:
0 <5 , 不打印
4 <5 , 不打印
打印8
結果分析:
continue指定跳轉的標籤 , 可以跳出循環的外層 , 如果循環嵌套 , 可以跳出到指定層數
for語句的特殊寫法 , 可以這樣處理特殊業務邏輯 , 但是這種時候最好選擇while語句
public static void main(String[] args) {
inti =0;
while (i < 10) {
if(i <5) {
System.out.println(i +" <5 ,不打印");
i +=4;
}
if(i ==4) {
System.out.println("i == 4 ,跳出整個循環");
break;
}
System.out.println("打印"+ i);
i +=3;
}
}
運行結果:
0 <5 , 不打印
i == 4 , 跳出整個循環
運行結果分析:
break的作用是結束整個循環 , 同時break和continue一樣 , 可以跳轉到指定標籤的位置
- 注意事項
for…語句和while…語句的選擇 , 當知道循環次數的時候用for語句, 不知道循環次數 , 但知道循環判斷條件的時候 , 選擇while語句。
continue和break實現了goto的功能,但我們儘量不要使用