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

Java常用流程控制語句實(shí)現(xiàn)原理解析

 更新時(shí)間:2020年08月05日 10:42:58   作者:彌漫s  
這篇文章主要介紹了Java常用流程控制語句實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、判斷語句

最常用的順序結(jié)構(gòu)只能順序執(zhí)行,并不能進(jìn)行判斷和選擇。于是便有了下面兩種分支結(jié)構(gòu)

  • if語句
  • switch語句

1. if語句

一個(gè)if語句包含一個(gè)布爾表達(dá)式和一條或多條語句。

1.1 判斷語句1——if

if語句的第一種格式

if(關(guān)系表達(dá)式){
  語句體;
}

執(zhí)行流程

  • 首先判斷關(guān)系表達(dá)式結(jié)果是true還是false
  • 如果是true就執(zhí)行語句體
  • 如果是false就不執(zhí)行語句體

1.2 判斷語句2——if...else

if語句的第二種格式:if...else

if(關(guān)系表達(dá)式) {
	語句體1;
}else {
	語句體2;
}

執(zhí)行流程

  • 首先判斷關(guān)系表達(dá)式結(jié)果是true還是false
  • 如果是true就執(zhí)行語句體1
  • 如果是false就不執(zhí)行語句體 2

1.3 判斷語句3——if...else if...else

if語句的第三種格式:if...else if...else

if (判斷條件1) {
  執(zhí)行語句1;
} else if (判斷條件2) {
  執(zhí)行語句2;
} 
...
}else if (判斷條件n) {
  執(zhí)行語句n;
} else {
  執(zhí)行語句n+1;
}

執(zhí)行流程

  • 首先判斷關(guān)系表達(dá)式1結(jié)果是true還是false
  • 如果是true就執(zhí)行語句體1
  • 如果是false就繼續(xù)判斷關(guān)系表達(dá)式2看其結(jié)果是true還是false
  • 如果是true就執(zhí)行語句體2
  • 如果是false就繼續(xù)判斷關(guān)系表達(dá)3,看其結(jié)果是true還是false
  • ......
  • 如果沒有任何關(guān)系表達(dá)式為true,就執(zhí)行語句體n+1

注意:有多個(gè)if...else只執(zhí)行一個(gè)

二、選擇語句

1. 選擇語句——switch

Switch語句格式:

switch(表達(dá)式) {
    case 常量值1:
    語句體1;
break;
    case 常量值2:
    語句體2;
break;
    ...
      default:
    語句體n+1;
    break;
}

執(zhí)行流程

  • 首先計(jì)算出表達(dá)式的值
  • 其次,和case依次比較,一旦有對(duì)應(yīng)的值,就會(huì)執(zhí)行相應(yīng)的語句,在執(zhí)行的過程中,遇到break結(jié)束
  • 如果所有的case都和表達(dá)式的值不匹配,就會(huì)執(zhí)行default語句體部分,然后程序結(jié)束

注意事項(xiàng):

  • 多個(gè)case后面的數(shù)值不可以重復(fù)
  • switch后面小括號(hào)當(dāng)中只能說下列數(shù)據(jù)類型:
    • 基本數(shù)據(jù)類型:bytr/short/char/int
    • 引用數(shù)據(jù)類型:String字符串、eumn枚舉
  • switch語句格式很靈活:
    • 前后順序可以顛倒
    • break語句可以省略

2. case的穿透性

在switch語句中,如果case的后面不寫break,將出現(xiàn)穿透現(xiàn)象。也就是不會(huì)繼續(xù)判斷下一個(gè)case的值,而是直接向后運(yùn)行,直到遇到break,或者整體switch結(jié)束

由于case存在穿透性,因此我們?cè)诰帉憇witch語句時(shí),必須注意要寫上break

三、循環(huán)結(jié)構(gòu)

順序結(jié)構(gòu)的程序語句只能被執(zhí)行一次。如果想要同樣的操作多次執(zhí)行,,就需要使用到循環(huán)結(jié)構(gòu)。

常用的循環(huán)結(jié)構(gòu)有三種:

  • for循環(huán)
  • while循環(huán)
  • do…while循環(huán)

循環(huán)結(jié)構(gòu)由如下四部分組成:

  • 初始化語句:在循環(huán)最開始執(zhí)行,而且執(zhí)行一次
  • 條件判斷:如果成立,則循環(huán)繼續(xù);否則退出循環(huán)
  • 循環(huán)體:指的是重復(fù)要做的事情,由若干行語句組成
  • 步進(jìn)語句:每次循環(huán)之后都要進(jìn)行的掃尾工作

1. for循環(huán)

for 循環(huán)語句是支持迭代的一種通用結(jié)構(gòu),利用每次迭代之后更新的計(jì)數(shù)器或類似的變量來控制迭代次數(shù)。for 循環(huán)語句是 while 循環(huán)的一種簡化形式,執(zhí)行的次數(shù)在執(zhí)行前就已經(jīng)確定。

語法格式如下:

for(初始化; 布爾表達(dá)式; 步進(jìn)語句) {
  循環(huán)體
}

2. while循環(huán)

循環(huán)語句標(biāo)準(zhǔn)格式

while (條件判斷){
	循環(huán)體
}

循環(huán)語句擴(kuò)展格式:

初始化表達(dá)式
  while(布爾表達(dá)式){
    循環(huán)體
      步進(jìn)語句
}

3. do…while循環(huán)

對(duì)于while語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要不滿足條件,也至少執(zhí)行一次。do…while循環(huán)和while循環(huán)相似,不同的是,do…while循環(huán)至少會(huì)執(zhí)行一次。

do…while循環(huán)的標(biāo)準(zhǔn)格式:

do {
    循環(huán)體
}while(條件判斷);

do…while循環(huán)的擴(kuò)展格式:

初始化語句
do{
  循環(huán)體
    步進(jìn)語句
}while(條件判斷);

4. 三種循環(huán)的區(qū)別

如果條件判斷沒有滿足過,那么for和while循環(huán)將會(huì)執(zhí)行0次,do...while循環(huán)會(huì)至少執(zhí)行一次

for循環(huán)的變量在小括號(hào)內(nèi)定義,只有在循環(huán)內(nèi)部才可以使用;while和do…while循環(huán)的初始化語句在外面,所以跳出循環(huán)后還可以繼續(xù)使用

在已知循環(huán)次數(shù)的時(shí)候使用推薦使用for,循環(huán)次數(shù)未知的時(shí)推薦使用while

5. 跳出語句

berak語句:主要用在循環(huán)語句或者switch語句中,用來跳出整個(gè)語句塊打斷這個(gè)循環(huán)。它能跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句。

continue語句:適用于任何循環(huán)控制結(jié)構(gòu)中。作用是結(jié)束本次循環(huán),繼續(xù)下一次的循環(huán) 。

  • 在for循環(huán)中,continue語句使程序立即跳轉(zhuǎn)到步進(jìn)語句
  • 在while或者do…while循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達(dá)式的判斷語句

6. 死循環(huán)

死循環(huán)就是循環(huán)的條件永遠(yuǎn)為true,是永不結(jié)束的循環(huán) 。標(biāo)準(zhǔn)格式為:

while(true){
  循環(huán)體
}

7. 嵌套循環(huán)

嵌套循環(huán)是指一個(gè)循環(huán)的循環(huán)體是另一個(gè)循環(huán)。如for循環(huán)里面還有一個(gè)for循環(huán),這就是嵌套循環(huán)??偣驳难h(huán)次數(shù)=外循環(huán)次數(shù)*內(nèi)循環(huán)次數(shù)

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)經(jīng)典游戲推箱子的示例代碼

    Java實(shí)現(xiàn)經(jīng)典游戲推箱子的示例代碼

    《推箱子》推箱子是一個(gè)古老的游戲,目的是在訓(xùn)練你的邏輯思考能力。本文將利用Java實(shí)現(xiàn)這一經(jīng)典的小游戲,并采用了swing技術(shù)進(jìn)行了界面化處理,需要的可以參考一下
    2022-02-02
  • SpringBoot中的PropertySource原理詳解

    SpringBoot中的PropertySource原理詳解

    這篇文章主要介紹了SpringBoot中的PropertySource原理詳解,PropertySource?是一個(gè)非常重要的概念,它允許您在應(yīng)用程序中定義屬性,并將這些屬性注入到?Spring?環(huán)境中,需要的朋友可以參考下
    2023-07-07
  • java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解

    java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解

    這篇文章主要為大家介紹了java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • springboot中restful風(fēng)格請(qǐng)求的使用方法示例

    springboot中restful風(fēng)格請(qǐng)求的使用方法示例

    RESTful是一種web軟件風(fēng)格,它不是標(biāo)準(zhǔn)也不是協(xié)議,它不一定要采用,只是一種風(fēng)格,它倡導(dǎo)的是一個(gè)資源定位(url)及資源操作的風(fēng)格,下面這篇文章主要給大家介紹了關(guān)于springboot中restful風(fēng)格請(qǐng)求的使用方法,需要的朋友可以參考下
    2023-02-02
  • SpringSecurity的安全過濾器鏈功能詳解

    SpringSecurity的安全過濾器鏈功能詳解

    本文介紹了如何配置SpringSecurity的安全過濾器鏈,包括定義URL路徑的訪問權(quán)限、用戶認(rèn)證和授權(quán)配置、自定義CSRF過濾器等內(nèi)容,通過這些配置,可以實(shí)現(xiàn)對(duì)不同URL路徑的訪問控制以及用戶的登錄、注銷等功能,感興趣的朋友一起看看吧
    2025-03-03
  • 深入解析Spring Bean初始化時(shí)和銷毀時(shí)的擴(kuò)展點(diǎn)

    深入解析Spring Bean初始化時(shí)和銷毀時(shí)的擴(kuò)展點(diǎn)

    在Bean進(jìn)行初始化或者銷毀的時(shí)候,如果我們需要做一些操作,比如加載和銷毀一些資源或者執(zhí)行一些方法時(shí),那么就可以使用Spring提供的一些擴(kuò)展,今天主要分享初始化Bean時(shí)的三種方式和銷毀Bean時(shí)的三種方式,需要的朋友可以參考下
    2023-08-08
  • SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例

    SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例

    這篇文章主要介紹了SpringCloud URL重定向及轉(zhuǎn)發(fā)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • JavaWeb實(shí)現(xiàn)打印功能

    JavaWeb實(shí)現(xiàn)打印功能

    這篇文章主要介紹了JavaWeb實(shí)現(xiàn)打印功能的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • 淺析Spring?Cloud?Gateway中的令牌桶限流算法

    淺析Spring?Cloud?Gateway中的令牌桶限流算法

    這篇文章主要為大家淺析了Spring?Cloud?Gateway中的令牌桶限流算法原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Java多線程的實(shí)現(xiàn)方式詳解

    Java多線程的實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了Java多線程的實(shí)現(xiàn)方式詳解,線程就是進(jìn)程中的單個(gè)順序控制流,也可以理解成是一條執(zhí)行路徑,java中之所以有多線程機(jī)制,目的就是為了提高程序的處理效率,需要的朋友可以參考下
    2023-08-08

最新評(píng)論