Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java if...else語句

在本教程中,您將在示例的幫助下了解Java中的控制流語句,使用Java的if和if ... else語句。

在計算機編程中,通常希望根據(jù)指定的條件是true 或 false(僅在運行時才知道)執(zhí)行代碼的特定部分。在這種情況下,將使用控制流語句。

Java if(if-then)語句

在Java中,if-then語句的語法為:

if (expression) {
    // 語句
}

這是一個布爾表達式(expression)。布爾表達式返回 true 或 false。

  • 如果將表達式計算為true,則將if執(zhí)行(大括號內(nèi)的語句)主體內(nèi)部的語句

  • 如果表達式的計算結(jié)果為false,則if主體內(nèi)的語句將被跳過

if語句如何工作?

if語句如何在Java中工作?
Java if語句的工作

示例1:Java if語句

class IfStatement {
    public static void main(String[] args) {

        int number = 10;

        //檢查數(shù)字是否大于0
        if (number > 0) {
            System.out.println("這個數(shù)字是正數(shù)。");
        }
        System.out.println("該語句始終被執(zhí)行。");
    }
}

輸出

這個數(shù)字是正數(shù)。
該語句始終被執(zhí)行。

在上面的示例中,我們有一個名為number的變量。在此,測試表達式檢查number是否大于0(number > 0)。

由于number大于0。因此,測試表達式的計算結(jié)果為true。同時,將執(zhí)行if內(nèi)的代碼。

現(xiàn)在,將的值更改number為負整數(shù)。假設(shè)為 -5。

int number = -5;

如果我們使用的新值運行上述程序number,則將僅輸出為:

該語句始終被執(zhí)行。

在此,number的值小于0。因此,測試表達式 number > 0,的計算結(jié)果為 false。因此,if內(nèi)的語句不會被執(zhí)行。

要了解有關(guān)測試表達式的更多信息,請訪問Java 關(guān)系運算符  和Java 邏輯運算符。

Java if ... else(if-then-else)語句

如果if語句測試表達式的計算結(jié)果為true,則該語句執(zhí)行代碼的特定部分。但是,如果測試表達式的計算結(jié)果為false,則它不會執(zhí)行任何操作。

在這種情況下,我們可以使用可選 else 代碼塊。如果測試表達式的計算結(jié)果為false,則執(zhí)行塊體內(nèi)的else語句。這在Java中稱為if-then-else語句。

if-then-else語句的語法為:

if (expression) {
   // 代碼
}
else {
  // 其他代碼
}

在這里,如果測試表達式為true,我們的程序?qū)?zhí)行一個任務(if塊內(nèi)的任務),如果測試表達式為false,則另一項任務(else代碼塊內(nèi)的任務)。

Java if... else 語句如何工作?

if ... else語句在Java中如何工作?
Java if-else語句的工作

示例2:Java if else語句

class IfElse {
    public static void main(String[] args) {    	
        int number = 10;

        //檢查數(shù)字是否大于0
        if (number > 0) {
            System.out.println("該數(shù)字為正。");
        }
        else {
            System.out.println("該數(shù)字不是正數(shù)。");
        }
 
        System.out.println("This statement is always executed.");
    }
}

輸出

該數(shù)字為正。
該語句始終被執(zhí)行。

在上面的示例中,我們有一個名為number的變量。在此,測試表達式檢查number是否大于0(number > 0)。

由于number的值為10,因此測試表達式的計算結(jié)果為true。因此,將執(zhí)行if內(nèi)的代碼。

現(xiàn)在,將的值更改number為負整數(shù)。比方說 -5。

int number = -5;

如果我們使用的新值運行程序number,則輸出為:

該數(shù)字不是正數(shù)。
該語句始終被執(zhí)行。

在這里,number的值是-5。因此,測試表達式的計算結(jié)果為false。所以將執(zhí)行else內(nèi)的代碼。

Java if..else..if語句

在Java中,我們有一個if ... else ... if 階梯語句,可用于在多個其他代碼塊之間執(zhí)行其中一個代碼塊。

if (expression1) {
   // 代碼
}
else if(expression2) {
   // 代碼
}
else if (expression3) {
   // 代碼
}
.
.
else {
   // 代碼
}

在這里,if語句從上到下執(zhí)行。一旦測試表達式為true,就執(zhí)行該if語句主體內(nèi)的代碼。然后,程序的控制跳到if-else-if階梯語句外面。

如果所有測試表達式均為false,則執(zhí)行else主體內(nèi)的代碼。

示例3:Java if..else..if語句

class Ladder {
    public static void main(String[] args) {   

        int number = 0;

        //檢查數(shù)字是否大于0 
        if (number > 0) {
            System.out.println("這個數(shù)字是正數(shù)。");
        }

        //檢查數(shù)字是否小于0
        else if (number < 0) {
            System.out.println("該數(shù)字為負數(shù)。");
        }
        else {
            System.out.println("數(shù)字是0。");
        } 
    }
}

輸出

數(shù)字是0。

在上面的示例中,我們正在檢查變量number是正數(shù),負數(shù)還是零。在這里,我們有兩個測試表達式:

  • number > 0 - 檢查 number大于0

  • number < 0 - 檢查 number小于0

在這里,number的值是0。因此,兩個測試表達式的計算結(jié)果均為false。因此,執(zhí)行了else主體內(nèi)部的語句。

Java 嵌套 if..else語句

在Java中,也可以在if..else語句內(nèi)if..else語句。這稱為嵌套if...else語句。

這是一個查找3個數(shù)字中,最大的一個數(shù)字的程序:

示例4:嵌套if ... else語句

class Number {
    public static void main(String[] args) {

        //聲明雙精度類型變量
        Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largestNumber;

        //檢查n1是否大于或等于n2
        if (n1 >= n2) {

            //if ... else語句在if塊內(nèi)
            // 檢查n1是否大于或等于n3
            if (n1 >= n3) {
                largestNumber = n1;
            }

            else {
                largestNumber = n3;
            }
        } else {

            //else塊中的if...else語句
            //檢查n2是否大于或等于n3
            if (n2 >= n3) {
                largestNumber = n2;
            }  else {
                largestNumber = n3;
            }
        }

        System.out.println("最大的數(shù)字是 " + largestNumber);
    }
}

輸出

最大的數(shù)字是 4.5

注意:在上面的程序中,我們自己分配了變量的值,以簡化演示過程。但是,在實際應用中,這些值可能來自用戶輸入數(shù)據(jù),日志文件,表單提交等。

Java提供了一種稱為三元運算符的特殊運算,它是if ... else語句的一種簡寫形式。要了解三元運算符,請訪問Java三元運算符。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清