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

Java While循環(huán) do-while循環(huán)用法

 更新時(shí)間:2020年11月13日 10:47:35   作者:唐僧洗頭要焗油  
循環(huán)語句就是讓計(jì)算機(jī)根據(jù)條件做循環(huán)計(jì)算,在條件滿足時(shí)繼續(xù)循環(huán),條件不滿足時(shí)退出循環(huán),需要的朋友可以參考下

循環(huán)語句就是讓計(jì)算機(jī)根據(jù)條件做循環(huán)計(jì)算,在條件滿足時(shí)繼續(xù)循環(huán),條件不滿足時(shí)退出循環(huán)。

Java提供了while條件循環(huán)。它的基本用法是:

while (條件表達(dá)式) {
 循環(huán)語句
}
// 繼續(xù)執(zhí)行后續(xù)代碼

while循環(huán)在每次循環(huán)開始前,先會判斷條件是否成立。如果計(jì)算結(jié)果為true,就把循環(huán)體內(nèi)的語句執(zhí)行一遍,如果計(jì)算結(jié)果為false,那就直接跳到while循環(huán)的末尾,繼續(xù)往下執(zhí)行。

do while循環(huán)的基本結(jié)構(gòu)

do{
//循環(huán)體

}while(條件);

與while不同的是,do while先不進(jìn)行判斷,直接先將循環(huán)體中的代碼執(zhí)行一遍,然后根據(jù)while中的條件的返回值判斷,如果符合條件,則再一次運(yùn)行循環(huán)體,如果不符合,則執(zhí)行do while外面的代碼

注意:不論是do while還是while循環(huán),他們的本質(zhì)都是相同的,符合條件則執(zhí)行循環(huán)體,不符合則執(zhí)行其他代碼,但是,while后面的小括號中的是true的時(shí)候,才會循環(huán)。

舉個(gè)例子,用while循環(huán)來計(jì)算1到100的累加。

public class Main {
 public static void main(String[] args) {
  int sum = 0; // 累加的和,初始化為0
  int n = 1;
  while (n <= 100) { // 循環(huán)條件是n <= 100
   sum = sum + n; // 把n累加到sum中
   n ++; // n自身加1
  }
  System.out.println(sum); // 5050
 }
}

執(zhí)行結(jié)果:

5050

值得注意的是while循環(huán)是先判斷循環(huán)條件,再循環(huán),因此,有可能一次循環(huán)都不做。如果循環(huán)條件永遠(yuǎn)滿足,那這個(gè)循環(huán)就變成了死循環(huán)。死循環(huán)將導(dǎo)致100%的CPU占用,用戶會感覺電腦運(yùn)行緩慢,所以要避免編寫死循環(huán)代碼。
如果循環(huán)條件的邏輯寫得有問題,也會造成意料之外的結(jié)果。

下面舉個(gè)例子:

public class Main {
 public static void main(String[] args) {
  int sum = 0;
  int n = 1;
  while (n > 0) {
   sum = sum + n;
   n ++;
  }
  System.out.println(n); // -2147483648
  System.out.println(sum);
 }
}

執(zhí)行結(jié)果:

-2147483648
-1073741824

表面上看,上面的while循環(huán)是一個(gè)死循環(huán),但是,Java的int類型有最大值,達(dá)到最大值后,再加1會變成負(fù)數(shù),結(jié)果,就會退出while循環(huán)。

小提示

while循環(huán)先判斷循環(huán)條件是否滿足,再執(zhí)行循環(huán)語句;

while循環(huán)可能一次都不執(zhí)行;

編寫循環(huán)時(shí)要注意循環(huán)條件,并避免程序進(jìn)入死循環(huán)。

do-while循環(huán)

前面一篇介紹了while循環(huán)語句,這里介紹do-while循環(huán)。do-while和while唯一的區(qū)別就是,do-while是先做循環(huán),然后去判斷,而while循環(huán)是先判斷,再去循環(huán)。說得有點(diǎn)繞口,在同一個(gè)例子去實(shí)現(xiàn)用while和do-while實(shí)現(xiàn)從1到100的求和。

相關(guān)代碼如下:

package lessons;
 
 
public class MyClass {
	
 
	public static void main(String[] args) {
		int a= 1;
		int sum = 0;
		
		while(a <= 100){
			sum += a;
			a++;
			
		}
		System.out.println(sum);
		
		int x = 1;
		 int sum1 = 0;
		 do{
			 sum1 += x;
				x++;
		 }while(x <= 100);
		 System.out.println(sum1);
	}
}

運(yùn)行結(jié)果,發(fā)現(xiàn)兩個(gè)循環(huán)結(jié)果都是5050.自己好好去理解下先循環(huán)再判斷,這是do-while循環(huán)的基本語法。

相關(guān)文章

  • Java多線程之多種鎖和阻塞隊(duì)列

    Java多線程之多種鎖和阻塞隊(duì)列

    今天帶大家學(xué)習(xí)的是Java多線程的相關(guān)知識,文章圍繞著java多種鎖和阻塞隊(duì)列展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • Java中的繼承關(guān)系與方法覆蓋

    Java中的繼承關(guān)系與方法覆蓋

    這篇文章主要介紹了Java中的繼承關(guān)系與方法覆蓋,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java適配器模式應(yīng)用之電源適配器功能詳解

    Java適配器模式應(yīng)用之電源適配器功能詳解

    這篇文章主要介紹了Java適配器模式應(yīng)用之電源適配器功能,較為詳細(xì)的分析了適配器模式的概念、原理及Java基于適配器模式實(shí)現(xiàn)電源適配器功能的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Java?I/O流之打印流詳細(xì)使用方法教程

    Java?I/O流之打印流詳細(xì)使用方法教程

    java的io是實(shí)現(xiàn)輸入和輸出的基礎(chǔ),可以方便的實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出操作,下面這篇文章主要給大家介紹了關(guān)于Java?IO流打印流詳細(xì)使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 詳解Mybatis模板(已優(yōu)化)適合小白

    詳解Mybatis模板(已優(yōu)化)適合小白

    這篇文章主要介紹了Mybatis模板(已優(yōu)化)適合小白,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java OSS批量下載并壓縮為ZIP代碼實(shí)例

    Java OSS批量下載并壓縮為ZIP代碼實(shí)例

    這篇文章主要介紹了Java OSS批量下載并壓縮為ZIP代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java?Map雙列集合使代碼更高效

    Java?Map雙列集合使代碼更高效

    這篇文章主要介紹了Java?Map雙列集合使用,使你的代碼更高效,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 詳解Springboot分布式限流實(shí)踐

    詳解Springboot分布式限流實(shí)踐

    這篇文章主要介紹了詳解Springboot分布式限流實(shí)踐 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • java集合中HashSet LinkedHashSet TreeSet三者異同面試精講

    java集合中HashSet LinkedHashSet TreeSet三者異同面試精講

    這篇文章主要為大家介紹了java集合中HashSet LinkedHashSet TreeSet三者異同面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 詳解如何提升SpringBoot項(xiàng)目的吞吐量

    詳解如何提升SpringBoot項(xiàng)目的吞吐量

    吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)成功處理請求的數(shù)量,當(dāng)吞吐量不足以應(yīng)對業(yè)務(wù)需求時(shí),會導(dǎo)致請求Pile Up的情況發(fā)生,使系統(tǒng)不可用甚至宕機(jī),所以提高吞吐量是保證系統(tǒng)可用性的有效手段之一,本文就給大家講講如何提升SpringBoot項(xiàng)目的吞吐量
    2023-07-07

最新評論