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

Java流程控制之循環(huán)結(jié)構(gòu)while、do...while

 更新時(shí)間:2022年01月25日 08:54:27   作者:Code_流蘇  
這篇文章主要介紹了Java流程控制之循環(huán)結(jié)構(gòu)while及do...while,文章除了講解循環(huán)結(jié)構(gòu)while和do...while之外,還講解了他們之間的區(qū)別,下面我們就一起進(jìn)入文章講解更多詳細(xì)內(nèi)容吧

本篇筆記內(nèi)容記錄while循環(huán)以及do…while循環(huán),下一篇將講述for循環(huán)以及延伸出來的增強(qiáng)型for循環(huán)(Java5新加)

前言:

在了解了選擇結(jié)構(gòu)之后,我們發(fā)現(xiàn),僅通過選擇結(jié)構(gòu),無法讓程序一直跑著,我們每次運(yùn)行就停止了。這在真實(shí)環(huán)境中肯定是不行的,比如網(wǎng)站的服務(wù)器,需要24小時(shí)無休地跑著,以及程序跑多少次等等。

為了解決這個(gè)問題,循環(huán)結(jié)構(gòu)自然而然地誕生了!

順序結(jié)構(gòu)的程序語句只能跑一次(執(zhí)行一次)。而很多時(shí)候,需要執(zhí)行的一個(gè)步驟需要多次實(shí)現(xiàn),這個(gè)時(shí)候使用循環(huán)結(jié)構(gòu)無疑是很好的選擇。

Java中有三種主要的循環(huán)結(jié)構(gòu):

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

1、while 循環(huán)

while是最基本的循環(huán),它的結(jié)構(gòu)為:

while( 布爾表達(dá)式 ) {
//循環(huán)內(nèi)容
}

如圖:

實(shí)例助解:輸出10-15 x的值。

   public static void main(String args[]) {
      int x = 10;
      while( x < 16 ) {
         System.out.print("x的值 : " + x );
         x++;
         System.out.print("\n");
      }
   }

輸出演示,如圖:

注意:一少部分情況需要循環(huán)一直執(zhí)行,如服務(wù)器的請(qǐng)求、響應(yīng)、監(jiān)聽等。

public static void main(String[] args) {
while (true){
//等待客戶端連接
//定時(shí)檢查
//......
}
}

注意:

  • 循環(huán)條件一直為true就會(huì)造成無限循環(huán)(死循環(huán)),我們正常的業(yè)務(wù)編程中應(yīng)該盡量避免無限循環(huán)。
  • 無限循環(huán)可能會(huì)影響程序性能或者造成程序崩潰。

實(shí)例助解:1+2+3+...+100的和

public static void main(String[] args) {
  int i = 0;
  int sum = 0;
  while (i <= 100) {
   sum = sum+i;
   i++;
  }
  System.out.println("Sum= " + sum);
}

輸出演示,如圖:

在這里插入圖片描述

相關(guān)故事:

其實(shí)說到1+2+3+…+100這個(gè)實(shí)例,我們可能會(huì)聯(lián)想到一位有名的數(shù)學(xué)家——高斯,他9歲時(shí)實(shí)現(xiàn)了1到100的快速求和。具體點(diǎn)兒來說,高斯當(dāng)時(shí)用很短的時(shí)間計(jì)算出了小學(xué)老師布置的任務(wù):對(duì)自然數(shù)從1到100的求和。他所使用的方法是:對(duì)50對(duì)構(gòu)造成和101的數(shù)列求和(1+100,2+99,3+98……),同時(shí)得到結(jié)果:5050。

2、do…while 循環(huán)

對(duì)于 while 語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。這個(gè)時(shí)候,do…while的出現(xiàn)解決了這一問題。
do…while 循環(huán)和 while 循環(huán)相似,不同的是,do…while 循環(huán)至少會(huì)執(zhí)行一次。

do {
//代碼語句
}while(布爾表達(dá)式);

如圖:

我們用do…while循環(huán)一下上面的1-100之和的例子

public static void main(String[] args) {
  int i = 0;
  int sum = 0;
  do {
    sum = sum+i;
    i++;
   }while (i <= 100);
  System.out.println("Sum= " + sum);
}

輸出演示,如圖:

3、while和do…while的區(qū)別

  • while先判斷后執(zhí)行。do…while是先執(zhí)行后判斷
  • Do…while總是保證循環(huán)體會(huì)被至少執(zhí)行一次

實(shí)例助解:a=1時(shí) while(a<1)和do…while(a<1)的區(qū)別

   public static void main(String[] args) {
        int a = 1;
        System.out.println("==========while==========");
        while(a<1){
            System.out.println(a);
            a++;
        }
        System.out.println("==========do...while==========");
        do{
            System.out.println(a);
            a++;
        } while (a<1);
    }

輸出演示,如圖:

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

相關(guān)文章

  • Druid連接池的自定義過濾功能實(shí)現(xiàn)方法

    Druid連接池的自定義過濾功能實(shí)現(xiàn)方法

    在數(shù)據(jù)密集型應(yīng)用中,監(jiān)控和分析數(shù)據(jù)庫操作對(duì)于確保性能和穩(wěn)定性至關(guān)重要,本文將探討如何實(shí)現(xiàn)一個(gè)自定義的Druid過濾器來捕獲數(shù)據(jù)庫請(qǐng)求并進(jìn)行日志記錄,以輔助開發(fā)和維護(hù)工作,需要的朋友可以參考下
    2023-11-11
  • java基礎(chǔ)-給出一個(gè)隨機(jī)字符串,判斷有多少字母?多少數(shù)字?

    java基礎(chǔ)-給出一個(gè)隨機(jī)字符串,判斷有多少字母?多少數(shù)字?

    這篇文章主要介紹了java基礎(chǔ)-給出一個(gè)隨機(jī)字符串,判斷有多少字母?多少數(shù)字?文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java中CyclicBarrier?循環(huán)屏障

    Java中CyclicBarrier?循環(huán)屏障

    這篇文章主要介紹了Java中CyclicBarrier?循環(huán)屏障,可以實(shí)現(xiàn)讓一組線程等待至某個(gè)狀態(tài)屏障點(diǎn)之后再全部同時(shí)執(zhí)行,下面文章分享CyclicBarrier循環(huán)屏障的原理,需要的小伙伴可以參考一下
    2022-05-05
  • 基于request.getAttribute與request.getParameter的區(qū)別詳解

    基于request.getAttribute與request.getParameter的區(qū)別詳解

    本篇文章小編為大家介紹,基于request.getAttribute與request.getParameter的區(qū)別詳解。需要的朋友參考下
    2013-04-04
  • maven多模塊打包注意事項(xiàng)詳解

    maven多模塊打包注意事項(xiàng)詳解

    這篇文章主要為大家介紹了maven多模塊打包注意事項(xiàng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot中的錯(cuò)誤處理機(jī)制源碼解析

    SpringBoot中的錯(cuò)誤處理機(jī)制源碼解析

    這篇文章主要介紹了SpringBoot中的錯(cuò)誤處理機(jī)制源碼解析,springboot根據(jù)訪問者的request中的Accept屬性來判斷要返回什么樣的數(shù)據(jù),SpringBoot存在一個(gè)錯(cuò)誤處理機(jī)制,會(huì)根據(jù)不同請(qǐng)求返回不同的結(jié)果,需要的朋友可以參考下
    2023-12-12
  • spring-boot讀取props和yml配置文件的方法

    spring-boot讀取props和yml配置文件的方法

    本篇文章主要介紹了spring-boot讀取props和yml配置文件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • Gradle:修改默認(rèn)的Build配置文件名方式

    Gradle:修改默認(rèn)的Build配置文件名方式

    這篇文章主要介紹了Gradle:修改默認(rèn)的Build配置文件名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • java類成員中的訪問級(jí)別淺析

    java類成員中的訪問級(jí)別淺析

    在本篇文章里小編給大家整理的是一篇關(guān)于java類成員中的訪問級(jí)別淺析內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下。
    2021-01-01
  • Java 內(nèi)存溢出的原因和解決方法

    Java 內(nèi)存溢出的原因和解決方法

    這篇文章主要介紹了Java 內(nèi)存溢出的原因和解決方法,幫助大家更好的維護(hù)Java程序,保持穩(wěn)定性,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論