[[TopPage]] > [[演習課題]] > 演習1-2 演習1-2では,2つのプログラムファイルについて見ていきます. * if-else文 [#ue80805e] まず,次のプログラムをダウンロードして,実行してください. &ref(HimanCheck.java,,,HimanCheck.java ダウンロード);/[[ソースコードファイルを見る>http://yoslab.net/netprog/source/HimanCheck.java]] *** 説明 [#j444d611] 条件文の使い方です. if, else if, elseの使い方の例です.構文の書き方はC言語と全く同じです. if文の中には,演算子を使い比較をします. 演算子には,「算術演算子」「比較演算子」「条件演算子」があるので, ここでまとめて説明しておきます. (他にも代入演算子とかビット演算子とかもありますが,またの機会に.) *** 算術演算子:計算に使うもの [#oa3edf18] 演算子 書き方 説明 + x +y xにyを加える(加算).xとyの足し算をする - x - y xからyを引く(減算). * x*y xにyを掛ける(乗算).xとyのかけ算をする [#h206c58b] / x / y xをyで割る(除算). % x % y xをyで割った余りを求める.%はもモジュロと呼びます. ++ x++ や ++y 両方とも1増やす.いつその値を使うかで,前後に++が違う.例えば,z = x++; と z = ++xはzの値が違う. -- x-- や --y 両方とも1減らす. *** 比較演算子:if文などの比較に使うもの [#fd050ecc] 演算子 書き方 説明 > x > y x が yより大きいときtrue(真)となる. >= x >= y x が yより大きいか等しいときtrue(真)となる. < x < y x が yより小さいときtrue(真)となる. <= x <= y x が yより小さいか等しいときtrue(真)となる. == x == y xとyが等しいときに,true(真)となる.= では比較できません.=は代入です."文字列(String)"の比較には使えません. != x != y xとyが異なるときに,true(真)となる. *** 条件演算子:if文などの比較で複数の条件を書く際に使うもの [#u3c986f7] 演算子 書き方 説明 && x && y x と yの両方がtrueのときにtrueとなる.AND演算子.xとyが同時に成り立つときにtrueとなる. || x || y x と yのどちらかがtrueのときにtrueとなる.OR演算子.xとyのどちらか一方が成り立つときにtrueとなる. ! !x x がfalseのときにtrueとなる. ほかにもあるけど,またの機会に. *** 練習 [#bfd4c59e] (1) heightとweightに自分の体重と身長をいれて,自分の体重をチェックしてください. (2) 下記の条件を追加してください. >25のときに,「あなたは非常に太りすぎです。」 <-15のときに,「あなたは非常にやせすぎです。」 なお,下記のように複数の条件をまとめてかくこともできます. if ((fat > -10) && (fat < 20)) { .... } &color(red,yellow){''if文はどこに追加してもいい?''}; 「あなたは非常に太りすぎです。」「あなたは非常にやせすぎです。」どうしてもでない?ことはないですか? if文はプログラムの上から順番に処理していきますので,先に他の条件が満たさせると 他の条件文は実行されません. 「あなたは非常に太りすぎです。」「あなたは非常にやせすぎです。」どうしてもでない?ことはないですか?~ if文はプログラムの上から順番に処理していきますので,先に他の条件が満たさせると~ 他の条件文は実行されません.~ そのため,if 文を書く順番は考えて書きましょう! &ref(himan.key.png);~ 図1-2 if文を書く場所 &color(red,yellow){よくあるコンパイルエラー!}; 日本語の文字コードが異なるとコンパイルエラーがでます! WindowsのJavaはSJISで編集する必要があります! メニュー「エンコード」を使って,「SJIS」に変換してください! 日本語の文字コードが異なるとコンパイルエラーがでます!~ WindowsのJavaはSJISで編集する必要があります!~ メニュー「エンコード」を使って,「SJIS」に変換してください!~ ウィンドウの右下に文字コードが表示されています. &ref(mojibake.png);~ 図1−2−1 文字化けのときのエラー &ref(SJIS.png);~ 図1−2−2 SJISの設定(正しい) &ref(UTF.png);~ 図1−2−3 UTF8の設定(エラーがでる) &color(red,yellow){"if-else文の書き方''};~ if-else文の書き方もいくつかパターンがあるので,示します.~ 間違った書き方は,何か違うか考えて,隣の人と話し合ってみましょう! &ref(if_else.key.png);~ * switch文 [#gcb3f327] まず,下記のプログラムをダウンロードしてください. &ref(Days.java,,,Days.java ダウンロード);/[[ソースコードファイルを見る>http://yoslab.net/netprog/source/Days.java]] *** 説明 [#oeddcb6b] switch文の使い方です.breakをしないと複数の条件を一つで記述できます. C言語と使い方は同じです. &color(red,yellow){'' ポイント ''}; - switchで条件判定できる変数は基本形(intなど)のみです.~ 後述する文字列型などは,switchでは条件判定できません. *** 練習 [#p9d2900c] プログラム中の変数を変更して,今月の日数を表示するように変えてください.~ (月の指定は,プログラム中のmonth変数の代入値を操作する.)~ (現在の日付を出すために,JavaにはDateというものが用意されていますが,%%%使用しないでください.%%%) &size(16){[[&ref(http://yoslab.net/netprog/next.gif,nolink); 次の演習(1-3)>演習1-3 制御構造(for, while)]]};