第二章:簡單 Java 程式解析
第三章:變數與資料型態
第四章:運算子、運算式與敘述
第五章:選擇性敘述與迴圈
第十章:實例變數與函數、類別變數與函數
Powered By GitBook
選擇性敘述

一、程式的結構

    循序性結構(sequence structure):由上至下 (top to down)的敘述方式。
    選擇性結構(selection structure):先判斷條件是否成立,再決定執行哪些敘述。
    重複性結構(iteration structure):判斷條件是否成立,並決定程式段落的執行次數。
三者的共通點為:只有一個進入點,也只有一個出口。
選擇性結構包括 if、if-else、switch

二、if 敘述

i如果主體中只有一個敘述,則可以省略左右大括號。
當條件成立(true),就會逐一執行大括號內的敘述。
1
if(判斷條件)
2
{
3
敘述主體;
4
}
Copied!

三、if-else 敘述

當條件成立(true),就會執行敘述主體;不成立時,則執行else 的敘述主體。以下為格式
1
if(判斷條件)
2
{
3
敘述主體A;
4
}
5
else
6
{
7
敘述主體B;
8
}
Copied!
1
public class ch05_1 {
2
3
public static void main(String[] args) {
4
int a=10;
5
6
if (a%2==0) // 如果可被2整除,判斷奇偶數
7
System.out.println(a+" 為偶數");
8
else
9
System.out.println(a+" 為奇數");
10
11
}
Copied!
OUTPUT: 10 為偶數

四、巢狀 if 敘述

if 敘述中又包含其它 if 敘述。以下為格式
1
if(判斷條件1)
2
{
3
if(判斷條件2)
4
{
5
敘述主體;
6
}
7
...
8
其它敘述;
9
}
Copied!
當判斷條件1為真,就會執行他敘述中的 判斷條件2; 若判斷條件2也為真時,就會執行判斷條件2 的敘述主體。
1
public class ch05_2 { //使用 ch05_1 做延伸
2
3
public static void main(String[] args) {
4
int a=10;
5
if(a>0)
6
{
7
if (a%2==0) // 如果可被2整除,判斷奇偶數
8
System.out.println(a+" 為大於0的偶數");
9
else
10
System.out.println(a+" 為大於0的奇數");
11
}
12
}
Copied!
OUTPUT: 10 為大於0的偶數
過多的巢狀 if 反而會造成邏輯判斷的混淆,拖累執行的速度

五、條件運算子

進階用法,直接透過運算子可以代替if-else敘述
1
整數 = 判斷條件 ? 運算式1 : 運算式2
Copied!
1
public class ch05_3 {
2
3
public static void main(String[] args) {
4
int a=19,b=10,max;
5
6
max=(a>b)?a:b; // 當a>b時,max=a,否則 max=b
7
8
System.out.println("a= "+a+", b= "+b);
9
System.out.println(max+"為最大的數");
10
11
}
Copied!
OUTPUT: a= 19, b= 10 19為最大的數
使用條件運算子可以使程式碼較簡潔,執行速度也較有效率
Last modified 1yr ago