Java 學習系列
  • 目錄
  • 新手初入門,切記熟練
    • 參考書籍
    • 安裝 Java
    • 安裝 Eclipse IDE
    • 首次操作 Eclipse
    • 初學常見錯誤 & 提高可讀性
  • 第一章:認識 JAVA
    • 第一支程式:新建檔案
    • 第一支程式:Hello Java
  • 第二章:簡單 Java 程式解析
    • 變數與輸出
    • 重點整理
  • 第三章:變數與資料型態
  • 認識變數與資料型態
  • 溢位
  • 更多資料型態
  • 資料型態的轉換
  • 第四章:運算子、運算式與敘述
    • 運算子、運算式
    • 程式範例
  • 第五章:選擇性敘述與迴圈
    • 選擇性敘述
    • 迴圈
    • 迴圈的跳離
  • 第六章:陣列
    • 一維陣列
    • 二維與多維陣列
  • 第七章:函數
    • 函數與引數
    • 函數傳遞陣列
    • 函數多載
    • 函數 SWAP
  • 第八章:類別
    • 定義類別
    • 使用類別
    • 類別中的函數成員相互呼叫
    • 類別中使用 this
    • 練習:建立圓形類別
    • 傳遞引數與回傳值
    • 多引數
    • 類別中函數的多載
    • 類別成員中的公有與私有
  • 第九章:建構元
    • 認識 建構元
    • 建構元的多載
    • 建構元間的呼叫 - 透過this
    • 建構元中的公有與私有
  • 第十章:實例變數與函數、類別變數與函數
    • 實例變數 與 實例函數
    • 類別變數
    • 類別函數
  • 第11章:類別的繼承
    • 認識類別的繼承
    • 範例:類別的繼承
    • 類別繼承中的建構元呼叫
    • Protected members
    • Overriding
    • super() 與 this()
    • 設定終止繼承
  • 第12章:抽象類別
    • 認識抽象類別
    • 範例:抽象類別
    • 使用抽象類別型態的變數建立物件
  • 第13章:介面Interface
    • 認識介面
    • 範例:介面
    • 介面中的多重繼承
    • 介面的延伸
  • 第14章:例外 Exception
    • 認識例外
    • 例外處理
    • 範例:例外處理
    • 認識例外類別
    • 例外類別捕捉多個例外
    • 於程式中拋出例外
    • 於指定函數拋出例外
    • 自定義例外類別
  • 第15章:執行緒
    • 認識多執行緒
    • 啟動執行緒
    • 實作 RUNNABLE 介面
    • 執行緒生命週期
    • 凍結執行緒 sleep()
    • 凍結執行緒 join()
    • 執行緒的順序
    • 同步處理 Synchronized
  • 習題範例
    • 產生不重複之亂數
  • 後記
  • 致謝
  • 首頁
Powered by GitBook
On this page
  • 一、for 迴圈
  • 二、while 迴圈
  • 三、do while 迴圈
  • 四、巢狀迴圈

Was this helpful?

  1. 第五章:選擇性敘述與迴圈

迴圈

Previous選擇性敘述Next迴圈的跳離

Last updated 5 years ago

Was this helpful?

迴圈可以重複執行相同程式的片段,還可以讓程式結構化。 這章學習如何利用不同的結構,撰寫更靈活,操作更方便。

迴圈包括 for、while、do while

一、for 迴圈

for迴圈:知道執行次數。

for(設定迴圈初值; 判斷條件; 設定增減量)
{
     迴圈主體;
}
public class ch05_4 {

	public static void main(String[] args) {
		int i,sum=0;

		for(i=1; i<=10; i++)
			sum+=i;
		System.out.println("1+2+...+10= "+sum);

	}

OUTPUT: 1+2+…+10= 55

補充:在迴圈裡宣告的變數只是區域變數,跳出迴圈後,這個變數將不再使用。 透夠以下範例認識:

public static void main(String[] args) {
		int sum=0;

		for(int i=1; i<=3; i++) //在迴圈內宣告變數i
		{
			sum+=i;
			System.out.println("i="+i+", sum="+sum);
		}
	}

OUTPUT: i=1, sum=1 i=2, sum=3 i=3, sum=6

也可以同時宣告數個變數,並且給予初值; 要注意的是,這些變數必須為相同的型態; 換句話說:關鍵字只能出現一次。

for (int i=0,j=0; 判斷條件; 設定增減量)

二、while 迴圈

while 迴圈:無事先得知執行次數。

設定迴圈初值; 
while(判斷條件)
{
     迴圈主體;
     設定增減量;
}

在while 迴圈中,通常判斷條件為邏輯運算子的運算式。

public class ch05_6 {

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

	}

OUTPUT: n=0, sum=0 n=1, sum=1 n=2, sum=3 n=3, sum=6 n=4, sum=10 n=5, sum=15

三、do while 迴圈

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

設定迴圈初值;
do
{
   迴圈主體;
   設定增減量;
}while(判斷條件)
import java.util.Scanner;
public class ch05_7 {

	public static void main(String[] args) {
		Scanner scn=new Scanner (System.in);
		int n,i=1,sum=0;

		do{
			System.out.print("請輸入值");
			n=scn.nextInt();
		}while (n<1); //輸入值要為大於0,否則將會一直印字串
		do
			sum+=i++; // 計算sum=sum+i, i值再加1
		while(i<=n);

		System.out.println("1+2+...+"+n+"="+sum);

	}

OUTPUT: 請輸入值-1 請輸入值-3 請輸入值0 // 輸入 -1 -3 0 皆小於1 所以重複要求輸入 請輸入值5 //5>1 條件正確 1+2+…+5=15

四、巢狀迴圈

迴圈敘述中又有其他迴圈敘述。

99乘法表

public static void main(String[] args) {
		int i,j;
		for (i=1; i<=9; i++)  //外迴圈
		{
			for (j=1; j<=9; j++)  //內迴圈
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
			System.out.println();
		}

	}

OUTPUT