程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java的if else語句入門,javaifelse語句

java的if else語句入門,javaifelse語句

編輯:JAVA綜合教程

java的if else語句入門,javaifelse語句


 條件語句,是程序中根據條件是否成立進行選擇執行的一類語句,這類語句在實際使用中,難點在於如何准確的抽象條件。例如實現程序登錄功能時,如果用戶名和密碼正確,則進入系統,否則彈出“密碼錯誤”這樣的提示框等。

    本部分對於條件語句的介紹,重點在於語法講解和基本的使用,更詳細的使用參看後續的綜合示例部分。

    在Java語言中,條件語句主要有兩類語法:if語句和switch語句。

 

1 、if語句

    if關鍵字中文意思是如果,其細致的語法歸納來說總共有三種:if語句、if-else語句和if-else if-else語句,下面分別進行介紹。http://hovertree.com/menu/java/

 

1.1 if語句

    該類語句的語法格式為:if(條件表達式)

    功能代碼;語法說明:if是該語句中的關鍵字,後續緊跟一對小括號,該對小括號任何時候不能省略,小括號的內部是具體的條件,語法上要求該表達式結果為boolean類型。後續為功能的代碼,也就是當條件成立時執行的代碼,在程序書寫時,一般為了直觀的表達包含關系,功能代碼一般需要縮進。

    需要特別注意的是:

    1、 這裡的功能代碼只能是一行,關於多行結構的功能代碼,後續將說明。

    2、 if(條件表達式)後續一般不書寫分號if語句的執行流程為:如果條件表達式成立,則執行功能代碼,如果條件表達式不成立,則不執行後續的功能代碼。

    示例代碼:

    int a = 10;

    if(a >= 0)

    System.out.println(“a是正數”);

    if( a % 2 == 0)

    System.out.println(“a是偶數”);

    在該示例代碼中,第一個條件是判斷變量a的值是否大於等於零,如果該條件成立則執行輸出,第二個條件是判斷變量a是否為偶數,如果成立也輸出。

    注意以下代碼的執行流程:

    int m = 20;

    if( m > 20)

    m += 20;

    System.out.println(m);

    按照前面的語法格式說明,只有m+=20;這行代碼屬於功能代碼,而後續的輸出語句和前面的條件形成順序結構,所以該程序執行以後輸出的結果為20.如果當條件成立時,需要執行的語句有多句,則可以使用語句塊來進行表述,語法格式如下:

    if(條件表達式){

    功能代碼塊;

    }

    使用這種語法格式,使用一個代碼塊來代替前面的功能代碼,這樣可以在代碼塊內部書寫任意多行的代碼,而且也使整個程序的邏輯比較清楚,所以在實際的代碼編寫中推薦使用該種邏輯。

 

1.2 if-else語句

    if-else語句實現了封閉的條件,在程序中使用的更加常見。其中else關鍵字的作用是“否則”,即條件不成立的情況。

    if-else語句的語法格式如下:

    if(條件表達式)

    功能代碼1;

    else

    功能代碼2;

    語法說明:其中前面的部分和if語句一樣,else部分後面是功能的代碼,按照該語法格式,功能代碼只能有一句。

    執行順序:如果條件成立,則執行if語句中的功能代碼1,否則執行else中的功能代碼2.示例代碼為:

    int n = 12;

    if(n % 2 != 0)

    System.out.println(“n是奇數”);

    else System.out.println(“n不是奇數”);

    則因為n%2的值是0,條件不成立,則執行else語句的代碼,程序輸出“n不是奇數”。

    在實際使用時,為了結構清楚,以及可以在功能代碼部分書寫多行代碼,一般把功能代碼部分使用代碼塊,則語法格式為:

    if(條件表達式){

    功能代碼塊

    }else{

    功能代碼塊

    }

    當程序中有多個if時,else語句和最近的if匹配。示例代碼:

    if(條件1)

    功能代碼1;

    if(條件2)

    功能代碼2;

    else功能代碼3;

    則這裡的else語句和條件2對應的if語句匹配,前面的條件1是一個獨立的語句。在實際代碼中,可以使用大括號使整個程序的結構更加清楚。

    對於if-else語句來說,因為if的條件和else的條件是互斥的,所以在實際執行中,只有一個語句中的功能代碼會得到執行。

    在實際開發中,有些公司在書寫條件時,即使else語句中不書寫代碼,也要求必須書寫else,這樣可以讓條件封閉。這個不是語法上必須的。

 

 

1.3 if-else

    if-else語句在現實中,有些時候的條件不是一個,而是一組相關的條件,例如將阿拉伯數字轉換為中文大寫,根據分數轉換為對應的等級等,都是多條件的結構,在程序中為了避免寫多個if語句的結構,提供了一類專門的多分支語句,這就是if-else if-else語句。

    if-else if-else語句的語法格式為:

    if(條件1)

    功能代碼1;

    else if(條件2)

    功能代碼2;

    else if(條件3)

    功能代碼3;

    ……

    else功能代碼;

    語法說明:

    1、 else if是else和if兩個關鍵字,中間使用空格進行間隔。

    2、 條件1到條件n都是boolean類型

    3、 else if語句可以有任意多句

    4、 最後的else語句為可選

    5、 如果功能代碼部分不是語句塊,也就是不用大括號,就只能寫一句。

    執行流程:當條件1成立時,則執行功能代碼1;當條件1不成立且條件2成立時,則執行功能代碼2;如果條件1、條件2都不成立且條件3成立,則執行功能代碼3,依次類推,如果所有條件都不成立,則執行else語句的功能代碼。其執行流程的流程圖如上所示。

    下面是一個實現根據月份的值,輸出該月份包含的日期數,2月份全部輸出28,不考慮閏年的示例代碼:

    

int month = 3;

    int days = 0;  //日期數

    if(month == 1){

    days = 31;

    }else if(month == 2){

    days = 28;

    } else if(month == 3){

    days = 31;

    } else if(month == 4){

    days = 30;

    } else if(month == 5){

    days = 31;

    } else if(month == 6){

    days = 30;

    } else if(month == 7){

    days = 31;

    } else if(month == 8){

    days = 31;

    } else if(month == 9){

    days = 30;

    } else if(month == 10){

    days = 31;

    } else if(month == 11){

    days = 30;

    } else if(month == 12){

    days = 31;

    }

    System.out.println(days);/* 何問起 hovertree.com */

 

    再來看一個示例代碼,該代碼的功能是實現將百分制的成績轉換為A、B、C、D和E,代碼如下:

   

 int score = 87;

    if(score >= 90){

    System.out.println(‘A’);

    } else if(score >= 80){

    System.out.println(‘B’);

    } else if(score >= 70){

    System.out.println(‘C’);

    } else if(score >= 60){

    System.out.println(‘D’);

    } else{

     System.out.println(‘E’);

    }
/* 何問起 hovertree.com */

 

    從該代碼中可知,每個else if語句在書寫時是有順序的,在實際書寫時,必須按照邏輯上的順序進行書寫,否則將出現邏輯錯誤。

    if-else if-else語句是Java語言中提供的一個多分支條件語句,但是在判斷某些問題時,會書寫的比較麻煩,所以在語法中提供了另外一個語句——switch語句來更好的實現多分支語句的判別。

推薦:http://www.cnblogs.com/roucheng/p/3504465.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved