【JAVA】條件分支if和else的使用詳解_if和else的用法_選擇判斷語句用法-Java-編程學習-18luck网站

18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 編程學習 >> Java >> 正文

【JAVA】條件分支if和else的使用詳解_if和else的用法_選擇判斷語句用法

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/11/14

順序結構沒什麽(me) 好講的,就是從(cong) 上到下的寫(xie) 代碼,所以接下來,壹哥就直接帶各位來學習(xi) 分支結構裏的條件分支。我們(men) 在前麵說過,分支結構,或者叫做條件分支,其實有兩(liang) 種情況。一種是if...else...類型的條件分支,一種是switch...case...類型的條件分支,今天我們(men) 先來學習(xi) if和else的使用。

1. if基本語法

在Java代碼中,如果我們(men) 要根據某個(ge) 條件來決(jue) 定是否執行一段代碼,就可以考慮使用if語句。if語句的基本語法是:

if(條件表達式){ //滿足條件時要執行的語句 }

在上麵的語法中,會(hui) 根據if(條件表達式)裏的計算結果(true或者false),由JVM決(jue) 定是否執行{}裏的代碼塊。如果為(wei) true,就執行,否則就不執行。

2. if的單分支語句

首先我們(men) 通過一個(ge) 簡單的需求,來學習(xi) if的單分支語句。所謂的單分支語句,就是說隻有一種判斷情況,條件為(wei) 真就執行,否則就不執行。比如這個(ge) 需求:“如果你年滿18歲,就可以攢勁的節目”。

publicclassDemo01 { publicstaticvoidmain(String[] args) { // if語句 //案例1:如果年齡大於(yu) 等於(yu) 18歲,就可以看攢勁的節目了 System.out.println("請輸入你的年齡"); //獲取Scanner對象 Scanner sc=new Scanner(System.in); //獲取年齡 int age = sc.nextInt(); //如果語句塊{}裏麵隻有一條執行語句,{}可以省略,但建議保留。 if(age >= 18){ System.out.println("本節目隻對成年人開放,未成年人請在父母陪同下觀看,節目正在緩衝(chong) ......"); } //案例2:如果身高大於(yu) 180,且體(ti) 重小於(yu) 180,就可以當模特 System.out.println("請輸入你的身高"); int height = sc.nextInt(); System.out.println("請輸入你的體(ti) 重"); int weight = sc.nextInt(); //條件表達式中,可以結合之前學習(xi) 過的邏輯運算符//采用短路與(yu) &&,提高效率 if(height > 180 && weight < 180){ System.out.println("恭喜你,可以當模特了"); } } }

另外如果{}語句塊裏麵隻有一條執行語句,{}可以省略,但建議保留。因為(wei) 如果我們(men) 采用縮進的格式,很容易把後麵的語句都看成是if語句的執行塊,所以不推薦忽略花括號的寫(xie) 法。

單分支語句應對的情況是很簡單的,在實際開發中可能會(hui) 很複雜,這就需要使用多分支語句來進行處理。

3. if的多分支語句

3.1 if...else結構

if...else...結構會(hui) 根據條件表達式的結果進行判斷,當表達式的結果為(wei) true,則執行語句塊A;否則執行else後麵的語句塊B。基本語法結構如下:

if(邏輯條件){ //滿足邏輯條件執行的代碼 }else{ //不滿足邏輯條件執行的代碼 }

案例如下:

publicclassDemo01 { publicstaticvoidmain(String[] args) { // if多分支語句 Scanner sc=new Scanner(System.in); //案例:如果用戶名為(wei) admin、密碼為(wei) 123456,就跳轉到首頁,否則跳轉到登錄頁麵 System.out.println("請輸入用戶名"); String username = sc.next(); System.out.println("請輸入密碼"); String password = sc.next(); //equals()比較方法 if("admin".equals(username) && "123456".equals(password)){ System.out.println("跳轉首頁"); }else{ System.out.println("跳轉登錄頁麵"); } } }

我們(men) 要注意,在java中,"=="比較的是兩(liang) 個(ge) 對象的內(nei) 存地址是否相同,String類中的equals()方法比較的是內(nei) 容是否相同。如果是基本數據類型,我們(men) 可以使用==進行比較;而對於(yu) String字符串,一般是使用equals()方法進行比較。

另外我們(men) 在使用equals()方法進行比較時,要采用類似"admin".equals(username)的寫(xie) 法,而不要采用username.equals("admin")的寫(xie) 法。因為(wei) username對象的值有可能為(wei) null,這樣就可能會(hui) 產(chan) 生NullPointerException異常。

3.2 if多分支

if多分支就是可以利用多個(ge) if ... else if ...else...進行串聯。多分支可以根據多個(ge) 條件表達式的結果進行判斷:

● 如果條件表達式1的結果為(wei) true,則執行語句塊1;否則去判斷條件表達式2;

● 如果條件表達式2的結果為(wei) true,則執行語句塊2,否則去判斷條件表達式3;

● ....

● 如果所有的條件表達式結果都為(wei) false,則執行語句塊N+1;

● else是可選的,根據需要可以省略。

if多分支的語法結構如下:

if(邏輯條件1){ //滿足邏輯條件1執行的代碼 }else if(邏輯條件2){ //隱藏條件(不滿足條件1) 滿足邏輯條件2執行的代碼 }else if(邏輯條件3){ //隱藏條件(不滿足條件1、2) 滿足邏輯條件3執行的代碼 }else{ //不滿足以上所有邏輯條件執行的代碼 }

需求案例:請你根據手上的資金選擇購買(mai) 的手機品牌。如果你手裏的錢大於(yu) 10000,就買(mai) 個(ge) 蘋果;如果大於(yu) 7000, 就買(mai) 個(ge) 華為(wei) ;如果大於(yu) 5000,就買(mai) 個(ge) 小米;如果大於(yu) 3000,就買(mai) 個(ge) 諾基亞(ya) ;否則,乖乖地去打公共電話。

publicclassDemo01 { publicstaticvoidmain(String[] args) { // if多分支語句 Scanner sc=new Scanner(System.in); //請你根據手上的資金選擇購買(mai) 的手機品牌。如果你手裏的錢大於(yu) 10000,就買(mai) 個(ge) 蘋果; //如果大於(yu) 7000, 就買(mai) 個(ge) 華為(wei) ;如果大於(yu) 5000,就買(mai) 個(ge) 小米;如果大於(yu) 3000,就買(mai) 個(ge) 諾基亞(ya) ; //否則,乖乖地去打公共電話。 System.out.println("請輸入餘(yu) 額"); int money = sc.nextInt(); if(money > 10000){ System.out.println("蘋果手機"); }elseif(money > 7000){ //money <= 10000 System.out.println("華為(wei) 手機"); }elseif(money > 5000){ System.out.println("小米手機"); }elseif(money > 3000){ System.out.println("諾基亞(ya) 手機"); }else{ System.out.println("打公共電話"); } } }

大家要注意,我們(men) 在串聯使用多個(ge) if時,要特別注意判斷順序和邊界條件的判斷。

4. if嵌套

if嵌套的語法結構如下:

if(邏輯條件1){ if(邏輯條件2){ //滿足邏輯條件1且滿足條件2執行的代碼 }else{ //滿足邏輯條件1但不滿足條件2執行的代碼 } }else{ //不滿足邏輯條件1執行的代碼 }

需求案例:學校舉(ju) 行跑步比賽,如果成績在15秒以內(nei) ,可以進入決(jue) 賽,男的進入男子組決(jue) 賽,女的進入女子組決(jue) 賽。

publicclassDemo01 {
 publicstaticvoidmain(String[] args) {
  // if多條件嵌套
  Scanner sc=new Scanner(System.in);
  
  //學校舉行跑步比賽,如果成績在15秒以內,可以進入決賽,男的進入男子組決賽,女的進入女子組決賽
  System.out.println("請輸入你的比賽成績");
  double score = sc.nextDouble();
  if(score < 15){
      System.out.println("請輸入你的性別");
      String sex = sc.next();
      if("男".equals(sex)){
          System.out.println("恭喜進入男子組");
      }else{
          System.out.println("恭喜進入女子組");
      }            
  }else{
      System.out.println("很遺憾你被淘汰了!!!");
  }
 }
}
Tags:JAVA,if,else,判斷語句  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
    [ 查看全部 ] 網友評論
    熱門文章
    • 此欄目下沒有熱點文章
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢
    51La