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

Java流程控制之選擇結(jié)構(gòu)

 更新時(shí)間:2022年01月25日 08:46:17   作者:Code_流蘇  
這篇文章主要介紹了Java流程控制之選擇結(jié)構(gòu),主要以if單選擇結(jié)構(gòu)、if雙選擇結(jié)構(gòu)、if多選擇結(jié)構(gòu)、嵌套的if結(jié)構(gòu)、switch多選擇結(jié)構(gòu)多種選擇結(jié)構(gòu)展開全文。需要的小伙伴可以參考一下

布爾表達(dá)式:

布爾表達(dá)式(Boolean expression)是一段代碼聲明,它最終只有true(真)和false(假)兩個(gè)取值。

最簡(jiǎn)單的布爾表達(dá)式是等式(equality),這種布爾表達(dá)式用來測(cè)試一個(gè)值是否與另一個(gè)值相同。 例如:

2 == 4       ?  -------------->  false

1、if單選擇結(jié)構(gòu)

我們平常經(jīng)常會(huì)面臨選擇,所以選擇結(jié)構(gòu)對(duì)于我們編程來說也是非常重要的,比如:

如果明天晴天,我們就一起去草場(chǎng)放風(fēng)箏;

如圖:

if(布爾表達(dá)式){
//如果布爾表達(dá)式為true將執(zhí)行的語句
}

注意:if單選擇結(jié)構(gòu):if語句對(duì)條件表達(dá)式進(jìn)行一次判斷,若判斷為真,則執(zhí)行下面的語句,否則跳過該語句。

實(shí)例助解:接收一個(gè)用戶的輸入,判斷輸入的是否為字符串"Liusu":

import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//接收用戶輸入
System.out.print("請(qǐng)輸入內(nèi)容:");
String s = scanner.nextLine();
if (s.equals("Liusu")){
System.out.println("輸入的是:"+s);
}
System.out.println("End");
scanner.close();
}

輸出演示,如圖: 

注釋:equals方法是用來進(jìn)行字符串的比較的

2、if雙選擇結(jié)構(gòu)

比如你去買鍵盤,鍵盤108元。如果你身上當(dāng)時(shí)帶有金額大于等于108元,那買鍵盤,否則,不買。(僅舉例)

所以對(duì)于這樣的需求用一個(gè)if就搞不定了,我們需要有兩個(gè)判斷,需要一個(gè)雙選擇結(jié)構(gòu),所以就有了if-else結(jié)構(gòu)。

如圖:

if(布爾表達(dá)式){
//如果布爾表達(dá)式的值為true
}else{
//如果布爾表達(dá)式的值為false
}

if雙選擇結(jié)構(gòu):當(dāng)條件表達(dá)式為真時(shí),執(zhí)行語句塊1,否則,執(zhí)行語句塊2。也就是else部分。

實(shí)例助解:你去買鍵盤,鍵盤108元。如果你身上當(dāng)時(shí)帶有金額大于等于108元,那買鍵盤,否則,不買。

import java.util.Scanner;
public static void main(String[] args) {
 Scanner scanner = new Scanner(System.in);
 System.out.print("請(qǐng)輸入x值:");
 int x = scanner.nextInt();
 if (x>=108){
  System.out.println("鍵盤");
 }else {
  System.out.println("余額正在加載中...");
 }
 scanner.close();
}

輸出演示,如圖:

3、if多選擇結(jié)構(gòu)

真實(shí)的情況還可能存在很多種,存在區(qū)間多級(jí)判斷。在生活中我們很多時(shí)候的選擇也不僅僅只有兩個(gè),所以我們需要一個(gè)多選擇結(jié)構(gòu)來處理這類問題!

如圖:

if(布爾表達(dá)式 1){
//如果布爾表達(dá)式 1的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 2){
//如果布爾表達(dá)式 2的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 3){
//如果布爾表達(dá)式 3的值為true執(zhí)行代碼
}else {
//如果以上布爾表達(dá)式都不為true執(zhí)行代碼
}

if多選擇結(jié)構(gòu):if 語句后面可以跟 else if…else 語句,可以判斷多種情況。

使用 if,else if,else 語句的時(shí)候,需要注意下面幾點(diǎn):

  • if 語句至多有 1 個(gè) else 語句。
  • if 語句可以有若干個(gè) else if 語句。
  • else if在else之前
  • 一個(gè) else if 語句檢測(cè)為 true,其他的 else if 、 else 語句都將跳過執(zhí)行。

實(shí)例助解:簡(jiǎn)單的數(shù)值判斷

public class Test {
   public static void main(String args[]){
      int x = 66;
      if( x == 22 ){
         System.out.print("x:22");
      }else if( x == 44 ){
         System.out.print("x:44");
      }else if( x == 66 ){
         System.out.print("x:66");
      }else{
         System.out.print("看來您的選擇不在選項(xiàng)當(dāng)中...");
      }
   }
}

輸出演示,如圖:

4、嵌套的if結(jié)構(gòu)

注意:嵌套的 if…else 語句也是可以的。所有的流程控制語句都可以互相嵌套,互不影響!

if(布爾表達(dá)式 1){
如果布爾表達(dá)式 1的值為true執(zhí)行代碼
 if(布爾表達(dá)式 2){
 如果布爾表達(dá)式 2的值為true執(zhí)行代碼
 }
}

實(shí)例助解:判斷x

    public static void main(String args[]){
        int x = 66;
        if( x > 22 ){
            System.out.println("x>22");
            if(x > 44){
                System.out.println("x>44");
            }
        }
    }

輸出演示,如圖:

5、switch多選擇結(jié)構(gòu)

多選擇結(jié)構(gòu)還有一個(gè)實(shí)現(xiàn)方式就是switch case 語句。
switch case 語句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。

switch(expression){
  case value :
   //語句
   break; //可選
  case value :
   //語句
   break; //可選
     //case...
     default : //可選
         //語句
}

switch case 語句有如下規(guī)則:

  • switch 語句中的變量類型可以是: byte、short、int 、char、字符串 String 類型。
  • switch 語句可以擁有多個(gè) case 語句。
  • case 語句中的值的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相同,而且只能是常量或者字面常量。

注意:當(dāng)變量的值與 case 語句的值相等時(shí),那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會(huì)跳出 switch 語句。(break語句非必須)

關(guān)于switch中default:

  • switch 語句可以包含一個(gè) default 分支------->最后一個(gè)分支(可以在任何位置,但建議在最后一個(gè))。
  • default 在沒有 case 語句的值和變量值相等的時(shí)候執(zhí)行。
  • default 分支不需要 break 語句。

實(shí)例助解:

public static void main(String args[]){
char grade = 'C';
switch(grade)
{
 case 'A' :
  System.out.println("優(yōu)秀");
  break;
 case 'B' :
 case 'C' :
  System.out.println("良好");
  break;
 case 'D' :
  System.out.println("及格");
  break;
 case 'F' :
  System.out.println("謝謝參與!加油!");
  break;
 default :
  System.out.println("您的等級(jí)已不在該范圍內(nèi)...");
}
 System.out.println("你的等級(jí)是 " + grade);
}

輸出演示,如圖:

6、補(bǔ)充:case穿透

如果 case 語句塊中沒有 break 語句時(shí),匹配成功后,從當(dāng)前 case 開始,后續(xù)所有 case 的值都會(huì)輸
出。如果后續(xù)的 case 語句塊有 break 語句則會(huì)跳出判斷。

public static void main(String args[]){
int i = 4;
switch(i){
 case 0:
  System.out.println("0");
 case 1:
  System.out.println("1");
 case 2:
  System.out.println("2");
 case 3:
  System.out.println("3");
    case 4:
  System.out.println("4"); 
    case 5:
        System.out.println("5");
  break;
 default:
  System.out.println("default");
 } 
}

輸出演示,如圖:

到此這篇關(guān)于Java流程控制之選擇結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Java選擇結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis的mapper標(biāo)簽 namespace屬性用法說明

    Mybatis的mapper標(biāo)簽 namespace屬性用法說明

    這篇文章主要介紹了Mybatis的mapper標(biāo)簽 namespace屬性用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring中@Async的使用小結(jié)

    Spring中@Async的使用小結(jié)

    在Java開發(fā)中,我們常常會(huì)遇到需要執(zhí)行耗時(shí)操作的場(chǎng)景,例如文件上傳、網(wǎng)絡(luò)請(qǐng)求等,本文將介紹如何在Java中使用異步方法,并探討其中的一些注意事項(xiàng),感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • SpringBoot2零基礎(chǔ)到精通之映射與常用注解請(qǐng)求處理

    SpringBoot2零基礎(chǔ)到精通之映射與常用注解請(qǐng)求處理

    SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時(shí)也是簡(jiǎn)化Spring的一種快速開發(fā)的腳手架,本篇讓我們一起學(xué)習(xí)映射、常用注解和方法參數(shù)的小技巧
    2022-03-03
  • Java橋接模式實(shí)例詳解【簡(jiǎn)單版與升級(jí)版】

    Java橋接模式實(shí)例詳解【簡(jiǎn)單版與升級(jí)版】

    這篇文章主要介紹了Java橋接模式,結(jié)合實(shí)例形式分析了java橋接模式簡(jiǎn)單版與升級(jí)版兩種實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法

    Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法

    這篇文章主要介紹了Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • java實(shí)現(xiàn)兩個(gè)線程交替打印的實(shí)例代碼

    java實(shí)現(xiàn)兩個(gè)線程交替打印的實(shí)例代碼

    在本篇文章里小編給大家整理的是一篇關(guān)于java實(shí)現(xiàn)兩個(gè)線程交替打印的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考下。
    2019-12-12
  • SpringBoot動(dòng)態(tài)導(dǎo)出word文檔實(shí)整教程(復(fù)制即可使用)

    SpringBoot動(dòng)態(tài)導(dǎo)出word文檔實(shí)整教程(復(fù)制即可使用)

    在我們做項(xiàng)目的時(shí)候會(huì)需要把數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到word當(dāng)中,下面這篇文章主要給大家介紹了關(guān)于SpringBoot動(dòng)態(tài)導(dǎo)出word文檔實(shí)整教程的相關(guān)資料,文中的代碼復(fù)制即可使用,需要的朋友可以參考下
    2023-06-06
  • Spring Security 自定義資源服務(wù)器實(shí)踐過程

    Spring Security 自定義資源服務(wù)器實(shí)踐過程

    這篇文章主要介紹了Spring Security 自定義資源服務(wù)器實(shí)踐,我們通過自己搭建的授權(quán)服務(wù)器和資源服務(wù)器,完整體驗(yàn)了OAuth2流程,需要的朋友可以參考下
    2022-08-08
  • 利用maven引入第三方j(luò)ar包以及打包

    利用maven引入第三方j(luò)ar包以及打包

    Maven是通過倉庫對(duì)依賴進(jìn)行管理的,當(dāng)Maven項(xiàng)目需要某個(gè)依賴時(shí),只要其POM中聲明了依賴的坐標(biāo)信息,Maven就會(huì)自動(dòng)從倉庫中去下載該構(gòu)件使用,如何將jar引用到項(xiàng)目,并且能夠讓項(xiàng)目正常調(diào)用該jar包的方法,本篇文章重點(diǎn)針對(duì)于這兩點(diǎn)進(jìn)行講解
    2023-05-05
  • 創(chuàng)建網(wǎng)關(guān)項(xiàng)目(Spring Cloud Gateway)過程詳解

    創(chuàng)建網(wǎng)關(guān)項(xiàng)目(Spring Cloud Gateway)過程詳解

    這篇文章主要介紹了創(chuàng)建網(wǎng)關(guān)項(xiàng)目(Spring Cloud Gateway)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論