11.複雑な処理を作る方法を知る
※無料で読めます
プログラミング未経験でも大丈夫?
書いた処理を実行しないようにできる?
条件分岐って何?
同じ処理を繰り返す方法は?
初めてjava を学習してみようという方/javaでコーディングできるけどやり方がいまいちわからない方に向けた記事です。
アジェンダ
それでは、いつものように私なりの言葉で、読んでいて眠くなることがないように、タイトルなども工夫していきます。
今回のゴール
・ある条件の時にだけ実行するような処理を作れる
・ある条件になるまで繰り返し実行する処理を作れる
1. 異なる世界線が交わる瞬間もある
プログラミングは上から順に、自分が書いた処理が実行されていきます。そんな中で、「もしも○○なら××をする。」「○○な時は△△をしない。」ということをしたい時があります。
boolean isTrue = true;
if (isTrue) {
// 処理
} else if (false) {
// 処理
} else {
// 処理
}
if を使うことで、ある条件の時に処理を実行するようにコーディングできます。「ある条件の時に実施する」ように作る処理なので、() の中身は boolean型になります。
また、その条件が1つだけとは限りません。
「○○がAの時にはαをやって。Bの時にはβをやって。それ以外ではγで。」
のようにしたい場合もあります。そういった時には、 else if で別条件を書くことができます。
2. 表層ではなく本質で見抜け
if を使って、条件によって処理を実行したり、実行しないようにコーディングができるようになりました。
では、その条件の判定方法を覚えていきましょう。
これは、算数に似ています。というか、ほぼ同じです。
・一緒かどうかを比較するには、「==」or「equals()」を使います。
・一緒ではないかを比較するには、「!=」を使います。
・数の比較をするには、「<」や「>」、「<=」「>=」を使います。
・AとB をANDで比較するには、「&&」を使います。
・AとB をORで比較するには、「||」を使います。
※ 「|」 は、パイプと呼ばれるもので、
Shiftキーを押したまま、Backspace の隣(¥)を押せば入力できます。
3. 円環の理に囚われないように
while を使えば、同じ処理を簡単に繰り返し実行するようにコーディングができます。
boolean isContinue = true;
while (isContinue) {
// 処理
}
「ある条件の時に実施する」ように作る処理なので、() の中身は boolean型になります。if と同じですね。
この場合、isContinue を false に変換しないとずっと処理を繰り返します。これは、無限ループですね。永遠に処理が終わらないです。
・・それだと困りますね。
「繰り返し処理中に、その繰り返しを中断する」としたい場面があります。その時には、 「break;」を書きましょう。ブレークタイム(break time)、休憩時間のように、「break;」 に行くと、その処理から抜け出すことができます。
また、「繰り返し処理中に、この回は飛ばしたい」という場面もあります。その時には、「continue;」を書きましょう。その繰り返し処理をスキップして、次の繰り返し処理が実行されるようになります。
Let’s お遊びTime
試しに、色んな比較や条件分岐を試してみてください。
※ 標準出力(System.out.println(); の() に書いて)出力してみてください。
※ 何をやれば良いか分からない方は、下記をお試しください。
1. 何が比較できるのか?数値だけ?文字は?
2. and 条件と or 条件 の書き方を同時に使うとどうなるの?
3. () も一緒に使って、and条件 と or条件を使うとどうなるの?
※ A and (B or C) や (A and B) or C など
4. 一度変数に値を持って、それを演算子で比較してみたら?
さいごに
タイトルに「複雑な処理」と書きましたが、これで難しい処理を作ることができるようになりました。どのように難しく、複雑にするかは、これを読んでいるあなた次第です。
ちなみに、複雑にしすぎないようにする工夫も必要です。どういうことかと言うと、if の中に、更にif、その中でif・・。ということはやらないようにすることが多いです。
何をするのかと言うと、if文が階層を持ち始めたら、メソッドに分けられないかを考えます。ネスト と呼ぶのですが、これが深くなっていくことは恐怖です。深く潜りすぎると、戻ってくるのも大変ですし、全容を把握するのも辛くなります。
できることが増えたら、分かりやすくコーディングをするには?
と意識できると、力がグングン上がっていくと思います。
次回、「オブジェクト指向と抽象化」に関してまとめたいと思いますので、よろしければご覧になってください。
有料パートに関して
・今回の記事のまとめを書いています
※必須ではないけれど知っておいた方が良い知識も添えています
・具体的な書き方と共に詳細説明をしています
ここから先は
¥ 100
いただいたサポートは、今後の創作活動に役立てさせていただきます。