[[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)]]};


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   一覧 単語検索 最終更新     最終更新のRSS