でんちゅうの雑食浪漫譚

田中と書いて"でんちゅう"と読む男が、好きなように書いてます。ある時は日記、ある時はレビュー、ある時は感想とちぐはぐなブログです。いつかミステリアスな人と思われたい。

JAVAァッッ!! Ⅳ

 大変お待たせしました、第四弾です!

 前回に引き続き、「判断」の分野について進んでいきますね。

 

 今回は、学校の問題形式で進んでいこうと思います。

 それでは、問1。

変数は gage。

gageに10を代入。

もしgageが10でなければ、no effect と表示する。

 おさらいもかねて、早速やってみます。

f:id:ryunyan123:20170730093056p:plain

 ここまでは、普通に書けました。それではコンパイルして実行してみます。

 するとコンソールには何も表示されませんでした。

 何故なら、今回は「10でなければ」だからです。では、どうしたらコンソールに表示させるか。数字を変えるべきは、int の部分ですね。

f:id:ryunyan123:20170730093429p:plain

 するとコンソールには無事に

f:id:ryunyan123:20170730093530p:plain

 と表示されました。注目ポイントとしては、if の()の中の関係演算子を、「~ではない」という意味に値する!=に設定する点です。

 それでは、この問題に少し色を足してみます。

変数は gage。

gageに10を代入。

もしgageが10でなければ、no effect と表示する。

gageが10であれば、can と表示。

 なにが違うのか。先ほどまでは「10でなければ」の場合だけを作成しましたが、これによって「10のとき」の場合も作成しなくてはならない。ようは、二つの場合に分岐したルートの行き先を、両方とも作成しなくてはなりません。

 こういうときに使うのが、if とセットで覚える else という文です。

 習うより慣れよで、まずは書いちゃいます。

f:id:ryunyan123:20170730094718p:plain

 こんな感じです。if との出だしが少し違うだけで、あとは同じです。注意する点としては、 else の左右端にある }{ の向きです。

 それでは int gage の部分を10にして、実行してみます。

f:id:ryunyan123:20170730094938p:plain

 これで完了です。仕事でも、この if と else はセットでよく使うので、覚える必要があります。

 

問2.

変数を monster とする。

monster に abnormal を入れる。

もし abnormal であれば ran と表示

abnormal でなければ walk と表示。

 注意点は、変数の型です。

 今までの知識があれば、十分この問題はクリアできると思いますので、お手元にエクリプスなどの環境がある方は、ぜひ試してみてください。

 エクリプス上の画面は点線の下からあります。

 

f:id:ryunyan123:20170730100752p:plain

 このまま実行すると、monster には abnormal が入っているので、コンソールには ran と表示されるはずです。また、monster に違う文字を入れると、 walk と表示されるはずです。

f:id:ryunyan123:20170730100931p:plain

f:id:ryunyan123:20170730101008p:plain

f:id:ryunyan123:20170730101057p:plain

f:id:ryunyan123:20170730101119p:plain

 これで完了です。

 それでは順々に解説します。

 まず、 if の所なんですが、monster の次に==を入れた方がいるかもしれません。

 たしかにそれでもコンパイルエラーは出ませんが、今回のように String型の変数で一致するかどうかの条件を聞くときには、変数.equals(   ) を使用します。

 ニュアンスの違いとしては、

== これは一致しています。

変数.equals(   ) これは一致していますか?

 といった具合です。

 今回は以上です。

 次回も引き続き判断をやっていきます。