![見出し画像](https://assets.st-note.com/production/uploads/images/75778141/rectangle_large_type_2_a81f2703cf23957f8e26c4a0f68a734a.png?width=800)
Javaの基礎を抑えたい#3【条件分岐】
またまたJavaの基礎を勉強していきます!
#3にあたる今回は、条件分岐について学びます。
条件分岐
これまで学習してきた単純な出力は順序処理と呼ばれており、今回学ぶ「設定したある条件で処理が変わる」ものを分岐処理と呼びます。
条件分岐はこれにあたります。
Javaでは、条件分岐を行うためにif文とswitch文が用意されており、これを用いて命令を行います。これも大枠としてはRubyと変わらないです。
if文
例文を用いながら、Javaのif文を見ていきます。
package day3;
public class Sample303 {
public static void main(String[] args) {
//標準出力
int num = 1; // 整数値(いろいろ変えてみましょう)
if(num == 1){
System.out.println("one"); // numが1だった場合の処理
}else if(num == 2){
System.out.println("two"); // numが2だった場合の処理
}else if(num == 3){
System.out.println("three"); // numが3だった場合の処理
}else{
System.out.println("不適切な値です。"); // それ以外の値が入力された場合の処理
}
}
}
Rubyと大きくは変わりませんが、endが無かったり、else ifの書き方が異なったりと、記述する上で気をつけるべき細かな変更点があるので注意が必要です。
Javaの論理演算子
条件式を作るときに用いる論理演算子ですが、これも他言語とどのように異なっているか確認しておきます。
・論理積(&,&&)
ANDを意味する
a == 0 & b == 0 // aが0かつ、bが0ならば〜
・論理和(|,||)
ORを意味する
a == 0 | a == 1 // aが0か1ならば
・否定(!)
NOTを意味する
!(a == 0) // a==0でない場合、真となる
論理演算子もRubyと変わらないですね。これでif文を用いた条件分岐については、コードリーディングとかも問題なく行えそうです。
switch文
ifと同様に条件分岐を行うための文法です。
package day3;
public class Sample305 {
public static void main(String[] args) {
//標準出力
int num = 1; // 整数値(いろいろ変えてみましょう)
switch(num){
case 1:
System.out.println("one"); // numが1だった場合の処理
break;
case 2:
System.out.println("two"); // numが2だった場合の処理
break;
case 3:
System.out.println("three"); // numが3だった場合の処理
break;
default:
System.out.println("不適切な値です。"); // それ以外の値が入力された場合の処理
}
}
}
switchで宣言した後、caseで条件を記載していき、defaultがそれ以外の〜というelseの役割を持っています。Rubyにもcase,when,elseで条件分岐を行う処理がありますが、処理としては似ています。
ところが全く一緒ではなさそうなので、こちらも参考に読んでみます。
break
breakは、caseやswitchの後に出てきますが、処理の終了を示しています。
switch(値){
case 値①:
処理①
break;
case 値②:
処理②
break;
・・・
default:
処理③
break;
}
各条件ごとに置かれているので、endとはまた異なりそうですが、これを記述しないと処理が続けて実行されてしまうとのことで、注意が必要です。
逆にいうと、記述しなくてもエラーが出るわけでは無いみたいです。
この辺りまでくると、大きな記述の違いもなく、すんなり理解ができています。Ruby、Java以外の言語をそこまで触れられていないですが、その他言語でも大きく外れていることはなさそうなので、どんどん勉強を深めていきたいです。
次回は繰り返し処理を見ていきます!
この記事が気に入ったらサポートをしてみませんか?