- 追加された行はこの色です。
- 削除された行はこの色です。
[[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) 下記の条件に変更してください.
(2) 下記の条件を追加してください.
>25のときに,「あなたは非常に太りすぎです。」
<-15のときに,「あなたは非常にやせすぎです。」
を追加してください.
下記のように複数の条件をまとめてかけます.
なお,下記のように複数の条件をまとめてかくこともできます.
if ((fat > -10) && (fat < 20)) {
....
}
&color(red,yellow){''if文はどこに追加してもいい?''};
「あなたは非常に太りすぎです。」「あなたは非常にやせすぎです。」どうしてもでない?ことはないですか?~
if文はプログラムの上から順番に処理していきますので,先に他の条件が満たさせると~
他の条件文は実行されません.~
そのため,if 文を書く順番は考えて書きましょう!
&ref(himan.key.png);~
図1-2 if文を書く場所
&color(red,yellow){よくあるコンパイルエラー!};
日本語の文字コードが異なるとコンパイルエラーがでます!~
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)]]};