Java基礎(真偽値と条件分岐)
この記事でわかること
- 真偽値(boolean)について
- 条件分岐(if,switch)について
- 繰り返し処理(while,for)について
- 配列について
Javaの学習をまとめました。よろしくお願いします。(Java学習2日目)
真偽値(boolean)
真偽値は「true」「false」の2つで結果を表示する値です。また真偽値のデータ型は「boolean型」です。
boolean bool = false; //データ型 変数名 = 値
boolean bool = 2 * 8 == 16; //データ型 変数名 = 値
System.out.println;
true
論理演算子(&&,||)
論理演算子には「かつ」「または」「~ではない」などを表現する記号のことです。
~かつ(&&)
「~かつ」は「条件式1 && 条件式2」のように記述します。このとき、条件式1,2が共に真ならば「true」を返し、それ以外なら「false」を返します。
//xの値を15とする
x > 10 && x < 20 // trueを返す(条件式1:真, 条件式2:真)
x > 10 && x < 14 // falseを返す(条件式1:真, 条件式2:偽)
~または(||)
「~または」は「条件式1 || 条件式2」のように記述します。このとき、条件式1,2のどちらかが真ならば「true」を返し、それ以外なら「false」を返します。
//xの値を15とする
x > 10 || x < 20 // trueを返す(条件式1:真, 条件式2:真)
x > 10 || x < 14 // trueを返す(条件式1:真, 条件式2:偽)
~ではない
「~ではない」は「!」を用いることで表現することができます。
//xの値を15とする
x >= 10 // trueを返す
x !(>= 10) // falseを返す
条件分岐(if,switch)
今回は「if」「switch」を使った条件分岐を紹介します。
if文の条件分岐
基本構造
if文の基本構造は以下の通りです。
if (条件式){
処理;
}
int x = 10;
if (x == 10){
System.out.println("正解です"); //複数の処理を記述できる
System.out.println("xは10です"); //これをブロックと呼ぶ
}
else,else ifを使った条件分岐
「else」と「else if」を使うことで、「もしifならば〇〇を、ifでなくelse ifならば△△を、それ以外(else)ならば□□を実行してください」と記述できる。
int x = 50;
if (x >= 60){
System.out.println("xは60以上");
} else if (x >= 50){
System.out.println("xは50以上で60以下");
}else{
System.out.println("xは50より小さい");
}
xは50以上で60以下
switch文の条件分岐(case)
switch文は、「この条件式(case)の場合は、これを実行してください」をいくつも記述するイメージです。
「コロン:」「セミコロン;」が混在するので記述には注意が必要です。
また「break」を記述する必要があり、これは「もしこの処理を実行したならば、これより先の処理は実行しないでね」という意味になります。
defaultについて
どの条件式(case)に当てはまらないときに実行する処理のことです。if文で言う「else」のイメージでした。
switch (条件の値){
case 値1: //この条件式1の場合は、
処理1; //処理1を実行してください
break;
case 値2:
処理2;
break;
default: //どの条件式にも当てはまらない場合は、
処理3; //処理3を実行してください
break:
}
if文とswitch文をおみくじプログラムで比較
同じ処理の内容を、if文パターンとswitch文パターンそれぞれで記述してみます。
int n = 1;
if (n == 1){
System.out.println("大吉");
} else if (n == 2){
System.out.println("小吉");
}else{
System.out.println("凶");
}
int n = 1;
switch (n){
case 1:
System.out.println("大吉");
break;
case 2:
System.out.println("小吉");
break;
default:
System.out.println("凶");
break:
}
繰り返し処理(while,for)
繰り返し処理とは、指示した範囲内で同じ処理を自動的に繰り返す処理になります。
whileの繰り返し処理
while文の繰り返し処理の記述方法は以下の通りです。
while (条件){
繰り返す処理;
}
記述するときのポイント(while)
繰り返し処理を記述で必要なポイントは以下の通りです。
- 変数の初期化
- 条件
- 繰り返す処理
- 変数の更新
int i = 10; //1.変数の初期化
while (i >= 3){ //2.条件
System.out.println(i); //3.繰り返す処理
}
i --; //変数の更新
繰り返し処理の条件や変数の更新を間違えると、無限ループになるため注意!
forの繰り返し処理
for文の繰り返し処理の記述方法は以下の通りです。また記述するポイントは「while」と同様です。
for(int = 1; i <= 5; i ++){ //for(1.変数の初期化; 2.条件; 4.変数の更新)
System.out.println(i); //3.繰り返す処理
}
「while」より短い記述方法で目的を達成できるイメージがつきました。
for文でsample10と同じ目的を達成する
+ for(int = 10; i >= 3; i --){
System.out.println(i);
}
- int i = 10; //1.変数の初期化
- while (i >= 3){ //2.条件
System.out.println(i); //3.繰り返す処理
}
- i --; //変数の更新
上記のように「for」だとスッキリした文章を記述できる。
break
「break」は繰り返し処理を終了させる方法です。if文と組み合わせて使うことが多いです。
for(int = 10; i >= 3; i --){
+ if(i > 5){ //条件式の中に組み込むイメージ
+ break;
+ }
System.out.println(i);
}
continue
「continue」はif文などの条件式に当てはまるならば、その週をスキップすることができます。
for(int = 10; i >= 3; i --){
+ if(i % 2 == 0){ //条件式の中に組み込むイメージ
+ continue; //iが2で割り切れるならば、以下の内容を終了し、変数の更新をする
+ }
System.out.println(i);
}
配列
配列は「データ型[] 変数 = {}」のように記述することで作成することができます。
また要素番号は、0から順に割り振られていきます。
int[] numbers = {3,5,7};
String[] amimals = {"cat", "dog", "rabit"}; //要素番号(0:cat, 1:dog, 2,rabit)
System.out.println(amimals[1]);
dog
配列の上書き
配列の上書きをする場合は、「どの番号をどのように更新するのか」で実現できます。
String[] amimals = {"cat", "dog", "rabit"}; //要素番号(0:cat, 1:dog, 2,rabit)
System.out.println(amimals[0]);
amimals[0] = "munchkin" //特定の要素番号を更新
System.out.println(amimals[0]);
cat
mumchkin
for文を使った配列
先ほど記述したfor文と配列を使って、コードを書いてみます。
String[] amimals = {"cat", "dog", "rabit"};
for(int i = 0; i < 3; i++){
System.out.println("I" + "like" + amimals[i]);
}
I like cat
I like dog
I like rabit
上記のように「I like」の記述を1つでまとめることで、少ないコードで、文章を作成できました。
length
配列には要素を数える「length」と言う機能があり、要素番号の最終番号を「配列.length」と表すことができます。
String[] amimals = {"cat", "dog", "rabit"};
+ for(int i = 0; i < amimals.length; i++){
- for(int i = 0; i < 3; i++){
System.out.println("I" + "like" + amimals[i]);
}
長い配列になると配列の番号を自力で数えることは大変ですが、上記の方法で簡単に表すことができるとわかりました。
拡張for文を使った配列
拡張for文は、個別に新しい変数を作り、配列の要素を順に入れていくイメージです。「for文を使った配列」より短いコードで記述できたり、変数名を使用することで見やすくなると考えます。
String[] amimals = {"cat", "dog", "rabit"};
- for(int i = 0; i < 3; i++){
- System.out.println("I" + "like" + amimals[i]);
+ for(String amimal: amimals){
+ System.out.println("I" + "like" + name);
}
感想
いざコードを書いて見ると「:」や「;」が抜けてエラーが頻発しました。またfor文の書き方の順序もしっかりマスターしなければと思いました。これからもJavaの学習を続けていこうと思います。
この記事をかいた人
23/6/1にDWCに入学し、主にRailsの学習に取り組みました。最近(9/25)にJavaの学習も取り入れて、現在はサイトを利用して学習を進めています。
Discussion