分JavaTweet広告この章ではif文で星座の判定を書いてみましょう。ユーザーに誕生月と誕生日を入力させて、それに対して星座を出力するプログラムです。ここで使っているif文は入れ子になっています。if文の中にif文が入っている構造になっています。ユーザーに入力させるにはBufferedReaderクラスを使うのですが、BufferedReaderクラスの説明は「キーボードの入力の値を受け取ろう」の章で説明します。長いですが、if文が繋がっているだけです。この章はif文の学習なのでBufferedReaderクラスやreadLineについては理解しなくても結構です。BufferedReaderクラスについては「キーボードの入力の値を受け取ろう」の章で説明します。ユーザーに入力してもらう仕組みは以下のBufferedReaderクラスが行います。紙面の都合で2行で書いていますが、1行で書いても結構です。importは他のファイルを取り込む時に使用します。次の箇所の説明をしますが、この章はifの学習ですので、この時点で理解する必要はありません。=>この箇所はユーザーが入力したものをlineに代入しています。この箇所でプログラムが入力待ちの状態になるので、好きな数値を入力します。以下の通り、1と、入力しますとこの1がlineに代入されます。readLineは1行のテキストを読み込むという意味になります。次の箇所の説明をします。=>この箇所はキーボードから入力したデータをint型の整数値に変換しています。いう形式の文字列です。この文字列を整数値に変換する必要があるのです。int型の整数値に変換する方法は以下の通りです(これらはクラスやメソッドといわれるものを使用しているので、今は分からなくても結構ですが、構文は覚えておいてください)。この例では2か所でreadLineを使って、誕生日の日と月を入力させています。if文の説明に入ります。これからif文の入れ子について説明します。この例では外側のif文でmonthの数値が1から12までのどの数値なのかを確認します。次に内側のif文で入力させたdayの値により分別をします。1月は山羊座か水瓶座なので,1月19日までが山羊座で、1月20日からが水瓶座になります。どれにも当てはまらない時には「間違い」が出力されます。このように内側のif文は外側のif文での条件をさらに絞りたい場合に使用します。入力された月は1月なので、さらに入力された日をもとに山羊座か水瓶座のどちらかを調べましょうと言うことです。次は以下の説明ですが、この箇所は「例外処理について知ろう」の章で説明しますので、ここではわからなくて結構です。簡単に説明しますと、ここは例外処理と呼ばれるものです。例外処理は文字通り、数値以外のものが入力されたなどの予想以外の動作が行われた際の処理です。今は例外処理を分からなくてもいいですが、構文を書いておきます。詳しくは「例外処理について知ろう」の章で説明します。結果は例えば以下のように表示されます。