iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

昨天講完for迴圈,需要先知道執行次數,那我們要進行迴圈的另一個部分

while 迴圈

無需先得知執行次數

初始化語句
while(迴圈條件)
{
     迴圈主體;
     迭代語句;
}

https://ithelp.ithome.com.tw/upload/images/20230926/20163139jJu2tua8ks.png

一樣用while迴圈從1加到10

public class WhileDemo {

	public static void main(String[] args) {
		
		int count = 1;
		int sum = 0;
		
		while(count <= 10) {
			
			sum += count;
			
			count ++;
		}
		System.out.println("1 + 2 + ... +10 = " + sum);
	//1 + 2 + ... +10 = 55
	}

}

注意:使用while 迴圈時,一定要保證迴圈條件要有變成false的時候,否則就會成為無限迴圈,無法結束。

public class WhileErrorDemo {

	public static void main(String[] args) {

		int count = 1;
		
		while(count < 10) {
			
			System.out.println(count);
			count --;
			//永遠小於10無法跳出迴圈
		}
	}

}

如果while 迴圈的迴圈條件緊跟著分號,表示迴圈體一個空語句,不做任何事情,java反覆執行這個迴圈體,條件返回值沒有任何改變,就形成無限迴圈。


public class WhileErrorDemo {

	public static void main(String[] args) {

		int count = 1;
		
		while(count < 10) ;
		//以下都無法執行
		{
			
			System.out.println(count);
			count ++;
		}
	}

}

do while 迴圈

與while 不同在於,while會先判斷條件真假,而do while 是先執行後判斷真假
因此至少會執行一次迴圈。

初始化語句;
do
{
   迴圈主體;
   迭代語句;
}while(迴圈條件);

https://ithelp.ithome.com.tw/upload/images/20230926/20163139jY3wlUfMaf.png

與while 不同,do while 迴圈的迴圈條件必須有一個分號,這個分號表示迴圈結束

一樣從1加到10

public class DoWhileDemo {
	
	public static void main(String[] args) {
		
		int count  = 1;
		int sum  = 0;
		do {
			sum += count ;
			count ++;
		}while(count <= 10);
		
		System.out.println("1 + 2 + ... +10 = " + sum);
	}
}

明天在繼續到巢狀迴圈及跳脫迴圈!


上一篇
Day 10 迴圈
下一篇
Day 12 迴圈III
系列文
玩轉Java:從基礎打造你的程式超能力30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言