2017年計算機二級考試java流控制學習教程:分支語句

字號:


    4.1分支語句
    分支語句提供了一種控制機制,使得程序的執(zhí)行可以跳過某些語句不執(zhí)行,而轉(zhuǎn)去執(zhí)行特定的語句 。
    4.1.1條件語句if-else.
    if-else語句根據(jù)判定條件的真假來執(zhí)行兩種操作中的一種, 它的格式為:
    if(boolean-expression)
    statement1;
    else
    statement2;
    1.布爾表達式 boolean-expression是任意一個返回布爾型數(shù)據(jù)的表達式 (這比C、 C++的限制要嚴格 )。
    2.每個單一的語句后都必須有分號 。
    3.語句statement1,statement2可 以為復(fù)合語句 ,這時要用大括號 {} 括起。 建議對單一的語句 也用大括號括起,這樣程序的可讀性強 ,而且有利于程序的擴充 (可以在其中填加新的語句)。 {}外面不加分號 。
    4.else子句是任選的 。
    5.若布爾表達式的值為true,則程序執(zhí)行statement1,否則執(zhí)行 statement2。
    6.if-else語句的一種特殊形式為 :
    if(expression1)
    {
    statement1
    }
    else if (expression2)
    {
    statement2
    }……
    }
    else if (expressionM)
    {
    statementM
    }
    Else
     {
    statementN
    }
    else子句不能單獨作為語句使用,它必須和if配對使用。else總是與離它最近的if配對??梢酝ㄟ^使用大括號{}來改變配對關(guān)系。
    7.舉例:
    例4.1 比較兩個數(shù)的大小,并按從小到大的次序輸出。
    public class CompareTwo
    {
    public static void main( String args[] )
    {
    double d1=23.4;
    double d2=35.1;
    if(d2>=d1)
    System.out.println(d2+" >= "+d1);
    else
    System.out.println(d1+" >= "+d2);
    }
    }
    運行結(jié)果為:
    C:\>java CompareTwo
    35.1 >= 23.4
    例 4.2 判斷某一年是否為閏年。
    閏年的條件是符合下面二者之一 :①能被4整除,但不能被10 0整除;②能被4整除,又能被 100整除 。
    public class LeapYear
    {
    public static void main( String args[] )
    {
    int year=1989; //method 1
    if( (year%4==0 && year0!=0) || (year@0==0) )
    System.out.println(year+" is a leap year.");
    else
    System.out.println(year+" is not a leap year.");
    year=2000; //method 2
    boolean leap;
    if( year%4!=0 )
    leap=false;
    else if( year0!=0 )
    leap=true;
    else if( year@0!=0 )
    leap=false;
    else
    leap=true;
    if( leap==true )
    System.out.println(year+" is a leap year.");
    else
    System.out.println(year+" is not a leap year.");
    year=2050; //method3
    if( year%4==0){
    if( year0==0 ){
    if( year@0==0)
    leap=true;
    else
    leap=false;
    }else
    leap=false;
    }else
    leap=false;
    if( leap==true )
    System.out.println(year+" is a leap year.");
    else
    System.out.println(year+" is not a leap year.");
    }
    }
    運行結(jié)果為
    C:\>java LeapYear
    1989 is not a leap year.
    2000 is a leap year.
    2050 is not a leap year.
    該例中方法 1用一個邏輯表達式包含了所有的閏年條件,方法2使用了if-else語句的 特 殊 形式,方法3則通過使用大括號{}對if-else進行匹配來實現(xiàn)閏年的判斷。大家可以根據(jù)程序來對比這三種方法,體會其中的聯(lián)系和區(qū)別,在不同的場合選用適合的方法 。