星期五, 10月 11, 2013

2013IT鐵人賽-26-Java10-java判斷複數的條件

2013IT鐵人賽-26-Java10-java判斷複數的條件



前一篇的文章 2013IT鐵人賽-24-Java09-if條件式 我們介紹了 if條件式以及 else的使用.  但是如果有2個條件式以上, 那又該如何呢?  所以我們今天來介紹複數條件的判斷.


首先我們可以試著使用 else if 的方式. else if 的數量沒有限制.
語法如下


if(條件式){
陳述句;
陳述句2;
}
else if {
陳述句3;
陳述句4;
}
else {
陳述句5;
陳述句6;


}
今天我的練習在第2個裝置練習(請見 2013IT鐵人賽-16-git04-git基礎練習git pull 與第2裝置使用 的內容).


首先進入我們的 git 資料夾 /home/max/2013ironman (請按自己的設定調整 git 所在資料夾)
>cd    /home/max/2013ironman


將 GitHub  上面的資料同步回來
> git  pull  origin master
remote: Counting objects: 20, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 14 (delta 5), reused 14 (delta 5)
Unpacking objects: 100% (14/14), done.
From https://github.com/sakanamax/2013ironman
* branch            master     -> FETCH_HEAD
Updating 7100819..670ee65
Fast-forward
java/Basic_011_if.class     | Bin 923 -> 923 bytes
java/Basic_011_if.java      |   5 ++++-
java/Basic_012_ifElse.class | Bin 0 -> 957 bytes
java/Basic_012_ifElse.java  |  31 +++++++++++++++++++++++++++++++
ruby/Lab-LRTHW/ex7.rb       |  26 ++++++++++++++++++++++++++
ruby/Lab-LRTHW/ex8.rb       |  15 +++++++++++++++
ruby/Lab-LRTHW/ex9.rb       |  16 ++++++++++++++++
7 files changed, 92 insertions(+), 1 deletion(-)
create mode 100644 java/Basic_012_ifElse.class
create mode 100644 java/Basic_012_ifElse.java
create mode 100644 ruby/Lab-LRTHW/ex7.rb
create mode 100644 ruby/Lab-LRTHW/ex8.rb
create mode 100644 ruby/Lab-LRTHW/ex9.rb


那我們就開始練習吧 ^_^


進入到 java 的練習資料夾
> cd   /home/max/2013ironman/java/


建立一個 java 原始檔如下
> cat   Basic_013_elseIf.java
//這個範例我們介紹複數條件的判斷, 使用 else if 方式
//因為要使用 BufferedReader, 所以要匯入 java.io.*;


import java.io.*;
class Basic_013_elseIf {


public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
////透過BufferedReader 來取使用者輸入的值
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//宣告一個字串 str 從使用者輸入中取得
String str = br.readLine();
//使用 Integer.parseInt()方法把 str的字串轉為 int
int res = Integer.parseInt(str);
//判斷 res 的值 是否為 1
if(res == 1)
{
System.out.println("輸入的值為1");
}
//使用 else if 進行下一個判斷
else if(res == 2)
{
System.out.println("輸入的值為2");
}
//當以上皆非的時候執行下列程式
else
{
System.out.println("請輸入 1 或是 2");
}


}


}


編譯我們剛剛寫的 java 程式
> javac   Basic_013_elseIf.java


執行剛剛的程式
> java   Basic_013_elseIf
請輸入整數:
1
輸入的值為1


> java   Basic_013_elseIf
請輸入整數:
2
輸入的值為2


> java  Basic_013_elseIf
請輸入整數:
3
請輸入 1 或是 2



練習完 else if 之後, 另外一種方式也可以使用 switch 來判斷複數條件式
語法如下:


switch (運算式){
case 值1:
敘述句1;
break;
case 值2:
敘述句2;
break;
#如果不是上述的判斷結果就執行 default
default:
敘述句n;
break;
}


建立一個 java 原始檔如下
> cat   Basic_014_switch.java
//這個範例我們練習複數的判斷練習, 使用 switch 的方式來進行
//因為要使用 BufferedReader, 所以要匯入 java.io.*;


import java.io.*;
class Basic_014_switch {
public static void main(String[] args) throws IOException
{
System.out.println("請輸入整數:");
//透過BufferedReader 來取使用者輸入的值
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//宣告一個字串 str 從使用者輸入中取得
String str = br.readLine();
//使用 Integer.parseInt()方法把 str的字串轉為 int
int res = Integer.parseInt(str);
//使用 switch 的方式, 如果符合值就會進行程式, 直到遇到 break 為止
switch (res){
//這邊用的是冒號 :  case 後面列出條件的 值
case 1:
System.out.println("輸入值為1");
//使用 break 來終止敘述
break;
case 2:
System.out.println("輸入值為2");
break;
//如果都沒有符合, 則採取 default 的敘述
default:
System.out.println("請輸入 1 或是 2");
break;
}


}


}



編譯我們剛剛寫的 java 程式
> javac   Basic_014_switch.java


執行剛剛的程式
> java   Basic_014_switch
請輸入整數:
1
輸入值為1


> java Basic_014_switch
請輸入整數:
2
輸入值為2


> java Basic_014_switch
請輸入整數:
3
請輸入 1 或是 2



準備將相關檔案傳送到 GitHub 上面
> cd  /home/max/2013ironman/
> git  add   java/*
> git   commit   -m "Add java else if and switch files"
[master 29e0340] Add java else if and switch files
4 files changed, 68 insertions(+)
create mode 100644 java/Basic_013_elseIf.class
create mode 100644 java/Basic_013_elseIf.java
create mode 100644 java/Basic_014_switch.class
create mode 100644 java/Basic_014_switch.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.17 KiB, done.
Total 7 (delta 3), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
  670ee65..29e0340  master -> master



完成今天java 複數判斷式的練習



Fun with Day 26 ~

沒有留言: