2013IT鐵人賽-29-Java12-改變程式執行的流程break, continue
前一篇的文章 2013IT鐵人賽-27-Java11-迴圈敘述 我們介紹了迴圈敘述, 使用了 for / while / do ~ while 的方式來執行迴圈敘述. 今天我們來練習如何改變程式執行的流程.
原則上迴圈的執行都有一定的流程, 但是有的時候為了需求可能會變更執行的流程. 今天我們就來練習 break 以及 continue 兩個指令.
break 指令主要用來強制結束程式, 並跳出迴圈.
語法如下:
break;
首先進入我們的 git 資料夾 /home/max/2013ironman (請按自己的設定調整 git 所在資料夾)
>cd /home/max/2013ironman
將 GitHub 上面的資料同步回來
> git pull origin master
From https://github.com/sakanamax/2013ironman
* branch master -> FETCH_HEAD
Already up-to-date.
那我們就開始練習吧 ^_^
進入到 java 的練習資料夾
> cd /home/max/2013ironman/java/
建立一個 java 原始檔如下
> cat Basic_018_break.java
//這個範例我們練習利用 break 終止迴圈
//這邊嘗試匯入 java.io.* 來使用BufferReader
import java.io.*;
class Basic_018_break {
// 這邊因為使用BufferReader, 所以要 throws IOException
public static void main(String[] args) throws IOException
{
System.out.println("請問要在第幾次終止迴圈呢? (1 ~ 10)");
//產生一個 BufferedReader br 來接收輸入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//str 由BufferedReader 的redLine()來取得使用者輸入的資料
String str = br.readLine();
//將str 轉成整數, 並宣告給 int 變數 num
int num = Integer.parseInt(str);
//建立一個 for 迴圈
for (int i=1; i <= 10; i++)
{
System.out.println("第"+i+"次的迴圈");
//如果 i 的值 等於 num 的值, 就執行 break 跳出迴圈
if ( i == num )
{
break;
}
}
}
}
編譯我們剛剛寫的 java 程式
> javac Basic_018_break.java
執行剛剛的程式
> java Basic_018_break
請問要在第幾次終止迴圈呢? (1 ~ 10)
8
第1次的迴圈
第2次的迴圈
第3次的迴圈
第4次的迴圈
第5次的迴圈
第6次的迴圈
第7次的迴圈
第8次的迴圈
這邊可以看到, 如果我們輸入 8 就會在第8次的迴圈終止. ^__^
接下來我們來練習 continue
continue 指令可以讓目前執行中的迴圈暫時停住不往下執行. 然後回到迴圈繼續下一個執行.
語法如下:
continue;
建立一個 java 原始檔如下
> cat Basic_019_continue.java
//這個範例我們使用 continue 來練習改變迴圈執行流程
//這邊嘗試匯入 java.io.* 來使用BufferReader
import java.io.*;
class Basic_019_continue {
// 這邊因為使用BufferReader, 所以要 throws IOException
public static void main(String[] args) throws IOException
{
System.out.println("要跳過第幾次的處理 (1~10)");
////產生一個 BufferedReader br 來接收輸入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//str 由BufferedReader 的redLine()來取得使用者輸入的資料
String str = br.readLine();
//將str 轉成整數, 並宣告給 int 變數 res
int res = Integer.parseInt(str);
//建立一個 for 迴圈
for (int i=1; i<=10; i++)
{
if ( i == res)
{
//continue 會暫時停止執行, 然後回到迴圈
continue;
}
System.out.println("第"+i+"次的處理次的處理");
}
}
}
編譯我們剛剛寫的 java 程式
> javac Basic_019_continue.java
執行剛剛的程式
> java Basic_019_continue
要跳過第幾次的處理 (1~10)
4
第1次的處理次的處理
第2次的處理次的處理
第3次的處理次的處理
第5次的處理次的處理
第6次的處理次的處理
第7次的處理次的處理
第8次的處理次的處理
第9次的處理次的處理
第10次的處理次的處理
這邊可以看到, 如果我們輸入 4 就會在第4次跳過執行指令. ^__^
準備將相關檔案傳送到 GitHub 上面
> cd /home/max/2013ironman/
> git add java/*
> git commit -m "Add java break, continue files"
[master d158645] Add java break, continue files
4 files changed, 57 insertions(+)
create mode 100644 java/Basic_018_break.class
create mode 100644 java/Basic_018_break.java
create mode 100644 java/Basic_019_continue.class
create mode 100644 java/Basic_019_continue.java
> git push origin master
Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com': 您的密碼
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 2.28 KiB, done.
Total 7 (delta 3), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
634430f..d158645 master -> master
完成今天的練習 :-)
Fun with Day 29 ~
沒有留言:
張貼留言