星期三, 10月 09, 2013

2013IT鐵人賽-24-Java09-if條件式

2013IT鐵人賽-24-Java09-if條件式



前一篇的文章 2013IT鐵人賽-22-Java08-Java轉型練習  我們練習了資料型態的轉換, 今天要來練習 if條件式.


java 可以藉由 if 來提供條件判斷
語法如下


if(條件式)
    陳述句;


如果有兩個以上的陳述句(statement), 必須使用 { } 把陳述句給括起來


if(條件式){
    陳述句;
    陳述句2;
}


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


首先進入我們的 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.


這邊就可以觀察到, 如果兩邊都是最新的, 那系統就會顯示 up-to-date.


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


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


建立一個 java 原始檔如下
> cat   Basic_011_if.java
//這個範例要來練習if判斷式的撰寫
//因為要使用 BufferedReader, 所以要匯入 java.io.*;
import java.io.*;
class Basic_011_if {


   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 的程式只有一行, 就可以直接寫下去
       //但是還是建議使用大括號來區隔程式碼
       if(res == 1)
       {
           //如果成真就執行顯示System.out.println()
           System.out.println("輸入的是1");
       }
       //如果輸入的不是1 就顯示 結束
       System.out.println("結束");


   }


}



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


執行剛剛的程式
> java Basic_011_if
請輸入整數
1
輸入的是1
結束


> java Basic_011_if
請輸入整數
3
結束


這邊可以觀察到, 除非輸入的整數是1, 才會出現”輸入的是1”這個字串, 而且結束這個字串不管是否輸入 1 都會出現.


那如果我們想要輸入1的時候出現”輸入的是1”, 不是輸入 1 的時候, 顯示並非輸入1, 那又該如何呢? 這個時候就會在 if 條件式內加上 else 的關鍵字, 代表如果條件判斷結果為假(false)的時候要執行某些陳述句(statement).
語法如下:


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


建立一個 java 原始檔如下
> cat  Basic_012_ifElse.java
//這個範例要來練習if判斷式的撰寫
//因為要使用 BufferedReader, 所以要匯入 java.io.*;
import java.io.*;
class Basic_012_ifElse {


   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 的程式只有一行, 就可以直接寫下去
       if(res == 1)
       {
           //如果成真就執行顯示System.out.println()
           System.out.println("輸入的是1");
       }
       //如果輸入的不是1(沒有成真) 就顯示 輸入的是1以外的數字
       else
       {    
       System.out.println("輸入的是1以外的數字");
       }


   }


}


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


執行剛剛的程式
> java Basic_012_ifElse
請輸入整數
2
輸入的是1以外的數字


> java Basic_012_ifElse
請輸入整數
1
輸入的是1


準備將相關檔案傳送到 GitHub 上面
> cd  /home/max/2013ironman/
> git  add   java/*
> git commit -m "Add java ifElse files"
[master 43d240c] Add java ifElse files
4 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 java/Basic_012_ifElse.class
create mode 100644 java/Basic_012_ifElse.java


> git   push   origin master
Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com': 您的密碼
Counting objects: 11, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 1.81 KiB, done.
Total 7 (delta 3), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
  7100819..43d240c  master -> master


完成今天  if 條件式的練習 :-)



Fun with Day 24 ~

沒有留言: