第5周 5.1 順序與選擇結構

安绍峰發表於2024-09-28

5.1 順序與選擇結構

5.1.1 順序結構

順序結構是程式中最簡單、最基本的流程控制結構,它按照程式中語句出現的先後順序依次執行,直到程式的結束。
順序結構示例:

   public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }

  //上述程式中,只有一條語句`System.out.println("Hello, World!");`,它按照順序執行,輸出"Hello, World!"。

5.1.2 選擇結構

選擇結構又叫分支結構,是根據條件表示式的值來決定程式的執行路徑。Java語言提供了兩種選擇結構:if語句和switch語句。

5.1.2.1 if語句

if語句用於根據條件的真假來決定程式的執行路徑。if語句有三種形式:if語句、if-else語句和if-else if-else語句。

if語句:if語句用於根據條件表示式的值來決定是否執行某段程式碼。如果條件表示式的值為true,則執行if語句塊中的程式碼;如果條件表示式的值為false,則不執行if語句塊中的程式碼。

1.單分支結構

if (條件表示式) {
    // 條件為真時執行的程式碼塊
}

示例:

int num = 10;
if (num > 0) {
    System.out.println("num是正數");
}
System.out.println("程式結束");

2.雙分支結構

if (條件表示式) {
    // 條件為真時執行的程式碼塊
} else {
    // 條件為假時執行的程式碼塊
}

示例:

int num = 10;
if (num > 0) {
    System.out.println("num是正數");
} 
else {
    System.out.println("num是負數");
}
System.out.println("程式結束");

3.多分支結構

if (條件表示式1) {
    // 條件1為真時執行的程式碼塊
} else if (條件表示式2) {
    // 條件2為真時執行的程式碼塊
} else if (條件表示式3) {
    // 條件3為真時執行的程式碼塊
} else {
    // 所有條件都為假時執行的程式碼塊
}

示例:

int num = 10;
if (num > 0) {
    System.out.println("num是正數");
} 
else if (num < 0) {
    System.out.println("num是負數");
} 
else {
    System.out.println("num是零");
}
System.out.println("程式結束");

多分支結構典型應用,求一元二次方程的根。中國古代數學家秦九韶提出了“秦九韶演算法”,該演算法可以用來求解一元二次方程。一元二次方程的一般形式為:ax2+bx+c=0,其中a、b、c為常數,且a≠0。根據判別式b2-4ac的值,可以判斷方程的根的情況:

import java.util.Scanner;

        Scanner input = new Scanner(System.in);
        System.out.print("請輸入a的值:");
        double a = input.nextDouble();
        System.out.print("請輸入b的值:");
        double b = input.nextDouble();
        System.out.print("請輸入c的值:");
        double c = input.nextDouble();

        double delta = b * b - 4 * a * c;
        if (delta >1e-6 ) {
            double x1 = (-b + Math.sqrt(delta)) / (2 * a);
            double x2 = (-b - Math.sqrt(delta)) / (2 * a);
            System.out.println("方程有兩個實根:x1=" + x1 + ",x2=" + x2);
        } else if (delta == 0) {
            double x = -b / (2 * a);
            System.out.println("方程有一個實根:x=" + x);
        } else {
            double realPart = -b / (2 * a); // 實部

            

img

if(1/(10^6)==0.0){
    System.out.println("1/(10^6)等於0");
}

5.1.2.2 switch語句

switch語句用於根據表示式的值來選擇執行不同的程式碼塊。switch語句有三種形式:switch語句、switch-case語句和switch-case-default語句。

相關文章