title: Java基礎語法(4) 流程式控制制 blog: "CSDN" data: "Java學習路線及視頻" 1.程式流程式控制制 流程式控制制語句是用來控製程序中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。 三種基本流程結構 順序結構 程式從上到下逐行地執行,中間沒有任何判斷和跳 ...
title: Java基礎語法(4)-流程式控制制
blog: CSDN
data: Java學習路線及視頻
1.程式流程式控制制
- 流程式控制制語句是用來控製程序中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。
- 三種基本流程結構
- 順序結構---程式從上到下逐行地執行,中間沒有任何判斷和跳轉
- 分支結構---根據條件,選擇性地執行某段代碼。有if…else和switch-case兩種分支語句
- 迴圈結構---根據迴圈條件,重覆性的執行某段代碼。有while、do…while、for、foreach三種迴圈語句。
2.順序結構
- Java中定義成員變數時採用合法的前向引用
//正確形式
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}
//錯誤形式
public class Test{
int num2 = num1 + 2;
int num1 = 12;
}
3.分支語句1: if-else
if(條件表達式){
執行代碼塊;
}
if(條件表達式){
執行代碼塊1;
}
else{
執行代碼塊2;
}
if(條件表達式1){
執行代碼塊1;
}
else if (條件表達式2){
執行代碼塊2;
}
……
else{
執行代碼塊n;
}
-
分支結構:if-else使用說明
- 條件表達式必須是布爾表達式(關係表達式或邏輯表達式)、布爾變數
- 語句塊只有一條執行語句時,一對{}可以省略,但建議保留
- if-else語句結構,根據需要可以嵌套使用
- 當if-else結構是“多選一”時,最後的else是可選的,根據需要可以省略
- 當多個條件是“互斥”關係時,條件判斷語句及執行語句間順序無所謂
- 當多個條件是“包含”關係時,“小上大下 / 子上父下”
-
if-else語句應用舉例
public class AgeTest{
public static void main(String args[]){
int age = 15;
if (age< 0) {
System.out.println("不可能!");
} else if (age>250) {
System.out.println("是個妖怪!");
} else {
System.out.println(“人家芳齡 " + age +" ,馬馬乎乎啦!");
}
}
}
4.分支語句2: switch-case
switch(表達式){
case 常量1:
語句1;
// break;
case 常量2:
語句2;
// break;
… …
case 常量N:
語句N;
// break;
default:
語句;
// break;
}
- switch-case語句應用舉例
public class SwitchTest {
public static void main(String args[]) {
int i = 1;
switch (i)
{ case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
default:
System.out.println("default");
break;
}
}
}
- switch-case語句有關規則
- switch(表達式)中表達式的值必須是下述幾種類型之一:byte,short,char,int,枚舉 (jdk 5.0),String (jdk 7.0);
- case子句中的值必須是常量,不能是變數名或不確定的表達式值;
- 同一個switch語句,所有case子句中的常量值互不相同;
- break語句用來在執行完一個case分支後使程式跳出switch語句塊;如果沒有break,程式會順序執行到switch結尾
- default子句是可任選的。同時,位置也是靈活的。當沒有匹配的case時,執行default
5.switch和if語句的對比
-
如果判斷的具體數值不多,而且符合byte、short 、char、int、String、枚舉等幾種類型。雖然兩個語句都可以使用,建議使用swtich語句。因為效率稍高。
-
其他情況:對區間判斷,對結果為boolean類型判斷,使用if,if的使用範圍更廣。也就是說,使用switch-case的,都可以改寫為if-else。反之不成立。
6.迴圈結構
-
在某些條件滿足的情況下,反覆執行特定代碼的功能
- for 迴圈
- while 迴圈
- do-while 迴圈
-
迴圈語句的四個組成部分
-
初始化部分(init_statement)
- 迴圈條件部分(test_exp)
-
迴圈體部分(body_statement)
- 迭代部分(alter_statement)
7.迴圈結構1:for迴圈
- 語法格式
for (1.初始化部分;2.迴圈條件部分;3.迭代部分){
4.迴圈體部分;
}
- 執行過程
- ①-②-③-④-②-③-④-②-③-④-.....-②
- 說明
- ②迴圈條件部分為boolean類型表達式,當值為false時,退出迴圈
- ①初始化部分可以聲明多個變數,但必須是同一個類型,用逗號分隔
- ④可以有多個變數更新,用逗號分隔
- 演示
- 應用舉例
public class ForLoop {
public static void main(String args[])
{
int result = 0;
for (int i = 1; i <= 100; i++) {
result += i;
}
System.out.println("result=" + result);
}
}
8.迴圈結構1:while迴圈
- 語法格式
①初始化部分
while(②迴圈條件部分){
③迴圈體部分;
④迭代部分;
}
- 執行過程
①-②-③-④-②-③-④-②-③-④-...-②
- 說明
- 註意不要忘記聲明④迭代部分。否則,迴圈將不能結束,變成死迴圈
- for迴圈和while迴圈可以相互轉換
- 應用舉例
public class WhileLoop {
public static void main(String args[]) {
int result = 0;
int i = 1;
while (i <= 100)
{ result += i;
i++;
}
System.out.println("result=" + result);
}
}
9.迴圈結構1:do-while迴圈
- 語法格式
①初始化部分
do{
③迴圈體部分;
④迭代部分;
}while(②迴圈條件部分);
- 執行過程
①-③-④-②-③-④-②-③-④-...-②
- 說明
- do-while迴圈至少執行一次迴圈體
- 應用舉例
public class DoWhileLoop {
public static void main(String args[])
{
int result = 0, i = 1;
do {
result += i;
i++;
} while (i <= 100);
System.out.println("result=" + result);
}
}
10.結語
2020-3-27: Java基礎語法(2)-變數
2020-3-27: Java基礎語法(3)-運算符
-
今日好文推薦
-
今日資料推薦