###未経験から半年で学習してきたこと(2)
会社で私はJavaを学習しています。
文書作成において簡潔にわかりやすい文を書くように上司は命じました。
それを意識して私は今回も書いていきます。
###条件分岐
条件分岐とは条件に合致するかしないかで処理が決まる文です。
条件分岐には2種類の文があります。
- if文
if文は1つの条件に対しTrueの場合、Falseの場合違う処理を行う文です。
たとえば、「明日晴れの場合、散歩します」「明日晴れではない場合、散歩しません」のように、「明日晴れの場合」という条件でTrue・Falseの2つの場合を考えます。
- switch文
switch文は複数の条件に対し処理がある文です。その条件で指定した値が何かによって、異なる処理を行います。たとえば、「明日の天気が」「晴れの場合、散歩します。」「曇りの場合、家にいます」「そのほかの場合、何もしません」のように、「天気」に対し「晴れ」「曇り」「そのほか(晴れ、曇り以外)」で違う処理をしたいときに使うのがswitch文です。
##条件分岐をjavaで書いてみよう
上記は概要を説明してきました。実際にjavaを使ってif文、switch文のプログラムを書いてみます。
#if文
class test1{
public static void main(String[] args){
int a = 10;
if(a > 7){
System.out.println("7より大きい");
}else if(a > 5 && a <= 7){
System.out.println("5より大きく7以下です");
}else{
System.out.println("それ以外だよ");
}
}
}
if文の場合、if文、if-else文、else ifを使った文の3種類あります。
今回のプログラムはelse ifを使っています。
使い方は以下の通りです。
if(条件式1){
#条件式1がTrueの場合の処理を書く
}else if(条件式2){
#条件式2がTrueの場合の処理を書く
}else{
#Falseの場合の処理を書く
}
・条件式1は(a > 7)となっています。
この場合、int型の変数 aが7より大きい場合 という意味です。
・条件式2は(a > 5 && a <= 7)となっています。
条件式2では「&&」という論理演算子を使っています。
これは「a > 5」という条件式と「a <= 7」という条件式がどちらもTrueではないと「#条件式2がTrueの場合の処理を書く」の処理を行いません。
また、「a <= 7」という条件式があります。
「a < 7」だと「変数aの値は7より小さい。」ということになります。しかし、「a <= 7」だと「変数aの値は7以下です。」ということになります。
この条件式は次のswitch文でも使用します。
#switch文
class test2{
public static void main(String[] args){
int a = 10;
switch(a){
case 5:
System.out.println("5");
break;
case 10:
System.out.println("10");
break;
default:
System.out.println("5でも10でもないよ");
break;
}
}
}
switch文の書き方は以下の通りです。
switch(条件){
case 値1:
#値1のときの処理を書く
break;
case 値2:
#値2のときの処理を書く
break;
default:
#defaultのときの処理を書く
break;
}
ここで注目したいのは「条件」と値1、2は同じ型であることが必要です。今回のプログラムでは変数aはint型でした。そのため、case 値1, 2ともにint 型でそろえています。
もう1つ注目したいのはdefaultです。defaultは値1, 2以外の値のときどうなるのかを書いています。このdefaultはあってもなくてもよいです。
###まとめ
今回条件分岐とif文、switch文の違いがわかるようにそれぞれの特徴を紹介しました。
自分の学習のためにも書きましたが、指摘などあればコメントしてください。ここがわかりにくいときも修正していきます。
つたないブログとなりましたが、今回は条件分岐についてまとめました。次回は繰り返し文、繰り返し制御文についてアウトプットを用意します。
読んでいただきありがとうございました。