欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java編程中的條件判斷之if語句的用法詳解

 更新時間:2015年11月06日 15:16:01   投稿:goldensun  
這篇文章主要介紹了Java編程中的條件判斷之if語句的用法詳解,是Java入門學習中的基礎知識,需要的朋友可以參考下

if語句使用布爾表達式或布爾值作為分支條件來進行分支控制,其中if語句有如下三種形式:

  第一種形式:

  if ( logic expression )

  {

  statements…

  }

  第二種形式:

  if (logic expression)

  {

  statements…

  }

  else

  {

  statements…

  }

  第三種形式:

  if (logic expression)

  {

  statements…

  }

  else if(logic expression)

  {

  statements…

  }

  …//可以有零個或多個else if語句

  else//最后的else語句也可以省略

  {

  statement

  }

  在上面if語言的三種形式中,放在if之后的括號里的只能是一個邏輯表達式,即這個表達式的返回值只能是true或false.第二種情形和第三種情形是相通的,如果第三種形式中else if塊不出現,則變成了第二種形式。

  上面的條件語句中,if(logic expression)、else if(logic expression)以及else后花括號括起來多行代碼被稱為代碼塊,一個代碼塊通常被當成一個整體來執(zhí)行(除非運行過程中遇到return、break、continue等關鍵字,或者遇到了異常),因此這個代碼塊也被稱為條件執(zhí)行體。例如如下程序:

  程序清單:codes/04/4-2/TestIf.java

  public class TestIf

  {

  public static void main(String[] args)

  {

  int age = 30;

  if (age > 20)

  //只有當age > 20時,下面花括號括起來的語句塊才會執(zhí)行

  //花括號括起來的語句是一個整體,要么一起執(zhí)行,要么一起不會執(zhí)行

  {

  System.out.println("年齡已經大于20歲了");

  System.out.println("20歲以上的人應該學會承擔責任…");

  }

  }

  }

  因此,如果if(logic expression)、else if(logic expression)和else后的語句塊只有一行語句時,則可以省略花括號,因為單行語句本身就是一個整體,無須花括號來把它們定義成一個整體。下面代碼完全可以正常執(zhí)行(程序清單同上):

  //定義變量a ,并為其賦值

  int a = 5;

  if (a > 4)

  //如果a>4,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊

  System.out.println("a大于4");

  else

  //否則,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊

  System.out.println("a不大于4");

  通常,我們建議不要省略if、else、else if后執(zhí)行塊的花括號,即使條件執(zhí)行體只有一行代碼,因為保留花括號會有更好的可讀性,而且保留花括號會減少發(fā)生錯誤的可能,例如如下代碼,則不可正常執(zhí)行:

  //定義變量b ,并為其賦值

  int b = 5;

  if (b > 4)

  //如果b>4,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊

  System.out.println("b大于4");

  else

  //否則,執(zhí)行下面的執(zhí)行體

  b--;

  //對于下面代碼而言,它已經不再是條件執(zhí)行體的一部分,因此總會執(zhí)行

  System.out.println("b不大于4");

  上面代碼中以粗體字標識的代碼行:System.out.println("b不大于4");,將總是會執(zhí)行,因為這行代碼并不屬于else后的條件執(zhí)行體,else后的條件執(zhí)行體就是b--;這行代碼。

  if、else、else if后條件執(zhí)行體要么是一個花括號擴起來的語句塊,則這個語句塊整體作為條件執(zhí)行體;要么是以分號為結束符的一行語句,甚至可能是一個空語句(空語句是一個分號)。

  如果if塊后有多條語句作為條件執(zhí)行體,如果省略了這個條件執(zhí)行體的花括號,則會引起編譯錯誤,看下面代碼(程序清單同上):

  //定義變量c ,并為其賦值

  int c = 5;

  if (c > 4)

  //如果c>4,執(zhí)行下面的執(zhí)行體,將只有c--;一行代碼為條件執(zhí)行體

  c--;

  //下面是一行普通代碼,不屬于條件執(zhí)行體

  System.out.println("c大于4");

  //此處的else將沒有if語句,因此編譯出錯

  else

  //否則,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊

  System.out.println("c不大于4");

  在上面代碼中,因為if后的條件執(zhí)行體省略了花括號,則系統(tǒng)只把c--;一行代碼作為條件執(zhí)行體,當c-;語句結束后,if語句也就結束了。后面的System.out.println("c大于4");代碼已經是一行普通代碼了,不再屬于條件執(zhí)行體,從而導致else語句沒有if語句,從而引起編譯錯誤。

相關文章

  • SpringBoot增強Controller方法@ControllerAdvice注解的使用詳解

    SpringBoot增強Controller方法@ControllerAdvice注解的使用詳解

    這篇文章主要介紹了SpringBoot增強Controller方法@ControllerAdvice注解的使用詳解,@ControllerAdvice,是Spring3.2提供的新注解,它是一個Controller增強器,可對controller進行增強處理,需要的朋友可以參考下
    2023-10-10
  • idea中springboot項目連接數據庫報錯的原因解析

    idea中springboot項目連接數據庫報錯的原因解析

    這篇文章主要介紹了idea中springboot項目連接數據庫報錯的原因解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java實現購物管理系統(tǒng)

    Java實現購物管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現購物管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Java中Arrays.sort()方法的比較器詳解

    Java中Arrays.sort()方法的比較器詳解

    這篇文章主要介紹了Java中Arrays.sort()方法的比較器詳解,Arrays.sort(Object[] a)此方法看似沒有要求我們實現比較器,對于基本數據類型,String類型確實如此,因為這些類型中已經自帶了compareTo()方法,需要的朋友可以參考下
    2023-12-12
  • SpringBoot+mybatis實現多數據源支持操作

    SpringBoot+mybatis實現多數據源支持操作

    這篇文章主要介紹了SpringBoot+mybatis實現多數據源支持操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java利用Netty時間輪實現延時任務

    Java利用Netty時間輪實現延時任務

    時間輪是一種可以執(zhí)行定時任務的數據結構和算法。本文將為大家詳細講解一下Java如何利用Netty時間輪算法實現延時任務,感興趣的小伙伴可以了解一下
    2022-08-08
  • SpringBoot集成RocketMQ實現消息發(fā)送的三種方式

    SpringBoot集成RocketMQ實現消息發(fā)送的三種方式

    RocketMQ?支持3?種消息發(fā)送方式:?同步?(sync)、異步(async)、單向(oneway),本文就將給大家介紹一下SpringBoot集成RocketMQ實現消息發(fā)送的三種方式文中有詳細的代碼示例,需要的朋友可以參考下
    2023-09-09
  • 一文掌握Java開發(fā)工具Maven(簡單上手)

    一文掌握Java開發(fā)工具Maven(簡單上手)

    掌握maven的相關知識是Java開發(fā)必備的技能,今天通過本文從入門安裝開始,逐步深入講解maven的相關知識,包括maven的安裝到簡單上手maven項目開發(fā),感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • spring-session簡介及實現原理源碼分析

    spring-session簡介及實現原理源碼分析

    這篇文章主要介紹了spring-session簡介及實現原理源碼分析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 使用Java實現簽字功能的示例代碼

    使用Java實現簽字功能的示例代碼

    這篇文章主要為大家詳細介紹了如何使用Java實現簽字功能,同時支持將簽字圖像保存為PNG格式和將簽字添加到PDF文檔中,感興趣的可以了解下
    2024-02-02

最新評論