一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java語法基礎之選擇結構的if語句、switch語句詳解

Java語法基礎之選擇結構的if語句、switch語句詳解

2020-06-12 15:43生命壹號 JAVA教程

這篇文章主要為大詳細介紹了Java語法基礎之選擇結構的if語句、switch語句,感興趣的小伙伴們可以參考一下

【前言】

流程控制語句:

在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。所以,我們必須清楚每條語句的執行流程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。

流程控制語句分類:

順序結構選擇結構:if語句、switch語句循環結構:while語句、for語句

一、順序結構:

是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先后順序,依次執行,程序中大多數的代碼都是這樣執行的。

總的來說:寫在前面的先執行,寫在后面的后執行

順序結構圖:

Java語法基礎之選擇結構的if語句、switch語句詳解

二、選擇結構:

選擇結構:也被稱為分支結構。選擇結構有特定的語法規則,代碼要執行具體的邏輯運算進行判斷,邏輯運算的結果有兩個,所以產生選擇,按照不同的選擇執行不同的代碼。

Java語言提供了兩種選擇結構語句:

if語句

switch語句

三、選擇結構的if語句:

if語句有三種格式。下面具體來講解。

1、if語句第一種格式:(適合一種判斷)

 

復制代碼 代碼如下:
if(關系表達式) {語句體;}

 

執行流程:

首先判斷關系表達式看其結果是true還是false:如果是true就執行語句體;如果是false就不執行語句體

其對應的流程圖是:

Java語法基礎之選擇結構的if語句、switch語句詳解

注意事項:

A:關系表達式無論簡單還是復雜,結果必須是boolean類型。

B:if語句控制的語句體如果是一條語句,大括號可以省略;如果是多條語句,就不能省略。建議永遠不要省略。

C:一般來說:有左大括號就沒有分號,有分號就沒有左大括號。

A:if(a==b && a==c){…}的特殊情況:

if(a == b){}寫成了if(a = b){}

這個時候如果是int類型就報錯了。這個時候的意思是把b賦值給a,把a留下來判斷,而a是int類型的所以報錯。

但是如果a,b都是boolean類型就沒有問題。

2、if語句第二種格式:(適合兩種判斷)

?
1
2
3
4
5
if(關系表達式) {
語句體1;
}else {
語句體2;
}

執行流程:

首先判斷關系表達式看其結果是true還是false:如果是true就執行語句體1;如果是false就執行語句體2

其對應的流程圖是:

Java語法基礎之選擇結構的if語句、switch語句詳解

我們前面講解過三元運算符,它根據比較判斷后,給出的也是兩個結果,所以,這種情況和if語句的第二種格式很相似,他們在某些情況下應該是可以相互轉換的。

if語句第二種格式和三元運算符:

三元運算符的操作都可以使用if語句改進,反之不成立。

什么時候不成立呢?當if語句控制的語句體是一條輸出語句的時候,就不成立。因為三元運算符是一個運算符,必須要求有一個結果返回;而輸出語句卻不能作為一個返回結果。

3、if語句第三種格式:(適合多種判斷)

?
1
2
3
4
5
6
7
8
9
10
11
if語句第三種格式:
if(關系表達式1) {
       語句體1;
  }else if (關系表達式2) {
       語句體2;
  }
  ...
  ...
  else {
       語句體n+1;
  }

執行流程:

首先判斷關系表達式1看其結果是true還是false

如果是true就執行語句體1

如果是false就繼續判斷關系表達式2看其結果是true還是false

如果是true就執行語句體2

如果是false就繼續判斷關系表達式…看其結果是true還是false

如果沒有任何關系表達式為true,就執行語句體n+1。

其對應的流程圖是:

Java語法基礎之選擇結構的if語句、switch語句詳解

需要注意的是,所有的語句體中,只執行一個。

舉例:用if語句的嵌套,獲取三個數據中的最大值。代碼如下:

?
1
2
3
4
5
6
7
8
//用if語句實現
    int max1;
    if(a > b) {
      max1 = a;
    }else {
      max1 = b;
    }
    System.out.println("max1:"+max1);

三、選擇結構的switch語句:

switch語句格式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
switch(表達式) {
     case 1
      語句體1;
      break;
      case 2
      語句體2;
      break;
      ...
      ...
      default: 
      語句體n+1;
      break;
}

解釋:

switch表示這是switch語句

表達式的取值:byte,short,int,char(JDK5以后可以是枚舉,JDK7以后可以是String)(這句話可能出面試題)

case后面跟的是要和表達式進行比較的值

語句體部分可以是一條或多條語句

break表示中斷,結束的意思,可以結束switch語句

default語句表示所有情況都不匹配的時候,就執行該處的內容,和if語句的else相似。

執行流程:

首先計算出表達式的值;

其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。

最后,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然后程序結束掉。

流程圖:

Java語法基礎之選擇結構的if語句、switch語句詳解

注意事項:

(1)case后面只能是常量,不能是變量,而且,多個case后面的值不能出現相同的

(2)default可以省略嗎?

可以省略。一般不建議。除非判斷的值是固定的(也就是說所有可能的情況都已經列在case中了)

(3)break可以省略嗎?

可以省略,一般不建議。否則結果可能不是你想要的,會出現一個現象:case穿透。

(4)default的位置一定要在最后嗎?

可以出現在switch語句任意位置。

(5)switch語句的結束條件:

情況a:遇到break就結束,而不是遇到default就結束。

情況b:執行到程序的末尾就結束

2、if和switch各自使用的場景:

在做判斷的時候,我們有兩種選擇,if語句和switch語句,那么,我們到底該如何選擇使用那種語句呢?

if語句使用場景:

針對結果是boolean類型的判斷

針對一個范圍的判斷

針對幾個常量值的判斷

switch語句使用場景:

針對幾個常量值的判斷

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/smyhvae/p/4143857.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产欧美一区二区三区精品 | 久久精品亚洲牛牛影视 | 韩日理论片 | 私人家庭影院5577 | 高清一级做a爱免费视 | 久久青草免费91线频观看站街 | 高h禁伦奶水女 | 国产精品亚洲片夜色在线 | 亚洲 欧美 国产 综合 在线 | 国产一区二区三区久久小说 | 美女视频在线观看视频 | acg火影忍者熟密姬纲手h | 四虎www.| 国产午夜精品一区二区三区 | 精品一久久香蕉国产线看观 | 特黄特色大片免费高清视频 | 亚洲精品黄色 | 99精品视频一区在线观看miya | 法国女佣系列在线播放 | 袖珍人与大黑人性视频 | 亚洲欧美午夜 | 性做久久久久久久久老女人 | 爱福利视频一区二区 | 日韩在线视频免费不卡一区 | 朝鲜女人free性xxe | 18未年禁止免费观看 | 国产精品99在线观看 | 色人阁导航 | 色涩导航 | 四虎网址 | 网站色小妹 | 五月天久久久 | 第一福利在线观看永久视频 | 国产成人毛片 | 51精品| 午夜小视频免费 | 精品久久免费观看 | 免费一级特黄特色大片在线 | 爱欲荡漾在线观看 | 国产日产国无高清码2020 | 精品午夜寂寞影院在线观看 |