・   「Java入門編」 第3回

3:条件分岐の記述

「条件分岐」の構造について詳しく練習します。 if-else ブロック、条件式の中の論理演算の記述、などを確認してみましょう。


・ 準備:

  1. LinuxもしくはWindowdsの環境でログインしなさい。
  2. 作業のための端末エミュレータのウィンドウを開きなさい。
  3. ホームディレクトリの下の Javaの作業用のディレクトリ java の中に移動しなさい。

・ 基本課題1:「if-elseブロックの基本」

  1. ソースファイル FlowTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. プログラム内に記述した出力命令のうち、何個のメッセージが どんな順序で出力されたか確認しなさい。
  5. どうして、そうなったか理解できましたか?

・ 基本課題2:「if-elseブロックの基本(2)」

  1. 上の課題のプログラムのif の後の条件式を書き直して、 正しい式(trueの値)にしないさい
  2. ソースファイル名は FlowTest.java のままでかまいません。
  3. javac コマンドでコンパイルをしなさい。
  4. java コマンドを通じてプログラムを実行しなさい。
  5. 課題1との結果に違いを確認しなさい。
  6. どうして、そうなったか理解できましたか?

・ 基本課題3:「if-elseブロックの基本(3)」
今度は少し複雑な if-else です。多数の処理の中から1つだけ処理を選択します。
乱数の発生には java.lang.Math クラスの機能を利用します。 random()の命令は0.0から1.0までの間の double型の値をランダムに返します。 その値によって「占い」の結果を選択することにします。

  1. ソースファイル Fortune.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. 何回か繰り返して実行してみなさい。 いろいろ異なる結果が出力されることを確認しなさい。

・ 基本課題4:「処理の確認」

本当に乱数の値によって処理が選択されているか、確認してみましょう。

  1. ソースファイル名は Fortune.java のままでかまいません。
  2. プログラムに一行を追加し、占いのメッセージの前に、 x=0.123..のように確認のための値も出力させなさい
  3. javac コマンドでコンパイルをしなさい。
  4. java コマンドを通じてプログラムを実行しなさい。
  5. 何回か繰り返して実行し、 処理が乱数の値によって選択されていることを確認しなさい。

・ 基本課題5:「論理演算の意味(1)」
条件式のような boolean型の値に対しては、「論理積」「論理和」と 呼ばれる計算が行われます。

  1. ソースファイル BooleanTest1.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。
  4. yの値を 1 に変更してプログラムをコンパイルし、 再度実行結果を確認しなさい。
  5. 論理演算(&&)と条件式の判定が理解できましたか?

・ 基本課題6:「論理演算の意味(2)」
条件式のような boolean型の値に対しては、「論理積」「論理和」と 呼ばれる計算が行われます。

  1. ソースファイル BooleanTest2.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。
  4. xの値を -1 に変更してプログラムをコンパイルし、 再度実行結果を確認しなさい。
  5. 論理演算(||)と条件式の判定が理解できましたか?

・ メールによるレポート課題: 以下の結果を tatsuo宛のメール で知らせてください。 件名(Subject)は java6

  1. 論理演算 && と || の計算のルールを簡単に説明しなさい。

・ 応用課題1:「時刻によって表示を変える」
プログラムが実行された時の時刻を調べ、それによって処理の内容を変える プログラムを作ってみましょう。
時刻や日付の情報を得るには、 java.util.Calendar クラスの機能を利用できます。

  1. ソースファイル GoodMorning.javaを作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行しなさい。
  4. 実習時間の終了直前、もしくは実習時間以外の別の時間帯に実行をすると、 異なるメッセージが得られることを確認しなさい。

・ 応用課題2:「さらに複雑な条件」
応用1のプログラムを次のような条件を満たすように改造してみなさい。 (ファイル名は GoodMorning.java のままでよい。)

  1. プログラムが実行された時の月を調べる
  2. 昼の時間が長い 4月から 9月の間は、朝5時から "Good Morning"、 夕方18時まで(正確には17:59まで) "Good Afternoon" のメッセージが出るようにする
  3. 10月から3月までは応用1の時間どおりのまま処理する

実習の目次   今週の講義の内容