程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java編程中的前提斷定之if語句的用法詳解

Java編程中的前提斷定之if語句的用法詳解

編輯:關於JAVA

Java編程中的前提斷定之if語句的用法詳解。本站提示廣大學習愛好者:(Java編程中的前提斷定之if語句的用法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java編程中的前提斷定之if語句的用法詳解正文


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後花括號括起來多行代碼被稱為代碼塊,一個代碼塊平日被當做一個全體來履行(除非運轉進程中碰到return、break、continue等症結字,或許碰到了異常),是以這個代碼塊也被稱為前提履行體。例如以下法式:

  法式清單:codes/04/4-2/TestIf.java

  public class TestIf

  {

  public static void main(String[] args)

  {

  int age = 30;

  if (age > 20)

  //只要當age > 20時,上面花括號括起來的語句塊才會履行

  //花括號括起來的語句是一個全體,要末一路履行,要末一路不會履行

  {

  System.out.println("年紀曾經年夜於20歲了");

  System.out.println("20歲以上的人應當學會承當義務…");

  }

  }

  }

  是以,假如if(logic expression)、else if(logic expression)和else後的語句塊只要一行語句時,則可以省略花括號,由於單行語句自己就是一個全體,不必花括號來把它們界說成一個全體。上面代碼完整可以正常履行(法式清單同上):

  //界說變量a ,並為其賦值

  int a = 5;

  if (a > 4)

  //假如a>4,履行上面的履行體,只要一行代碼作為代碼塊

  System.out.println("a年夜於4");

  else

  //不然,履行上面的履行體,只要一行代碼作為代碼塊

  System.out.println("a不年夜於4");

  平日,我們建議不要省略if、else、else if後履行塊的花括號,即便前提履行體只要一行代碼,由於保存花括號會有更好的可讀性,並且保存花括號會削減產生毛病的能夠,例如以下代碼,則弗成正常履行:

  //界說變量b ,並為其賦值

  int b = 5;

  if (b > 4)

  //假如b>4,履行上面的履行體,只要一行代碼作為代碼塊

  System.out.println("b年夜於4");

  else

  //不然,履行上面的履行體

  b--;

  //關於上面代碼而言,它曾經不再是前提履行體的一部門,是以總會履行

  System.out.println("b不年夜於4");

  下面代碼中以粗體字標識的代碼行:System.out.println("b不年夜於4");,將老是會履行,由於這行代碼其實不屬於else後的前提履行體,else後的前提履行體就是b--;這行代碼。

  if、else、else if後前提履行體要末是一個花括號擴起來的語句塊,則這個語句塊全體作為前提履行體;要末是以分號為停止符的一行語句,乃至能夠是一個空語句(空語句是一個分號)。

  假如if塊後有多條語句作為前提履行體,假如省略了這個前提履行體的花括號,則會惹起編譯毛病,看上面代碼(法式清單同上):

  //界說變量c ,並為其賦值

  int c = 5;

  if (c > 4)

  //假如c>4,履行上面的履行體,將只要c--;一行代碼為前提履行體

  c--;

  //上面是一行通俗代碼,不屬於前提履行體

  System.out.println("c年夜於4");

  //此處的else將沒有if語句,是以編譯失足

  else

  //不然,履行上面的履行體,只要一行代碼作為代碼塊

  System.out.println("c不年夜於4");

  在下面代碼中,由於if後的前提履行體省略了花括號,則體系只把c--;一行代碼作為前提履行體,當c-;語句停止後,if語句也就停止了。前面的System.out.println("c年夜於4");代碼曾經是一行通俗代碼了,不再屬於前提履行體,從而招致else語句沒有if語句,從而惹起編譯毛病。

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