🏆
java基礎2(真偽/条件分岐/繰り返し/配列[拡張for文]など)
前回の続き
⑤真偽値と条件式(比較演算子、論理演算子など)
真偽値
使うのはboolean型
!!結果は(true
)か(false
)
boolean 変数名 = true; //もしくはfalse
比較演算子
比較演算子とは、値を比較するための記号で、比較した結果は真偽値(trueかfalse)になります。
「x == y」はxとyが同じかどうかを比較し、同じであればtrue
、違っていればfalse
となります。
x == y //等しいかどうか
x != y //等しくないか
class Main {
public static void main(String[] args) {
// 「==」を用いて、値を比較した結果を出力します
System.out.println(12 / 4 == 3); // 出力: true (12 / 4 は 3 なので比較結果はtrue)
// 「!=」を用いて、値を比較した結果を出力します
System.out.println(12 / 4 != 3); // 出力: false (12 / 4 は 3 なので比較結果はfalse)
// 変数を定義し、値を比較した結果を代入します
boolean bool = (3 * 9 == 27); // 3 * 9 は 27 なので比較結果はtrue
// 変数boolの値を出力します
System.out.println(bool); // 出力: true
// 大小比較
// 「4 + 2」と「6」を比較し、falseとなるようにしてください
// 4 + 2 は 6 なので、6 > 6 は false になります
System.out.println(4 + 2 > 6); // 出力: false
// 「4 + 2」と「6」を比較し、trueとなるようにしてください
// 4 + 2 は 6 なので、6 >= 6 は true になります
System.out.println(4 + 2 >= 6); // 出力: true
}
}
論理演算子
例
class Main {
public static void main(String[] args) {
// trueと出力されるようにしてください
System.out.println(true || false);
// falseと出力されるようにしてください
System.out.println(false && true);
// 「8 < 5」かつ「3 >= 2」の結果を出力してください
System.out.println((8 < 5) && (3 >= 2));
// 「8 < 5」または「3 >= 2」の結果を出力してください
System.out.println((8 < 5) || (3 >= 2));
// 「8 < 5」でない、の結果を出力してください
System.out.println(!(8 < 5)); // 8 < 5 は false なので、その否定で true
}
}
⑥条件分岐(if、else if、switch文など)
最もよく使う条件分岐はif文です。
書き方
if (条件式) {
処理;
}
if
例
class Main {
public static void main(String[] args) {
int x = 5;
// if文を用いて、変数xが2より大きいとき「xは2より大きい」と出力してください
if (x > 2) {
System.out.println("xは2より大きい"); // 出力される
}
// if文を用いて、変数xが8より大きいとき「xは8より大きい」と出力してください
if ( x > 8) {
System.out.println("xは8より大きい"); // 出力されない
}
}
}
else if
複数の条件を指定する際に使用する。
class Main {
public static void main(String[] args) {
int number = 12;
// numberが20より小さいとき、どちらでもないときの条件分岐を追加してください
if (number < 10) {
System.out.println("10より小さい");
} else if (number < 20) {
System.out.println("10以上、20より小さい"); // 出力: 10以上、20より小さい
} else {
System.out.println("20以上"); // ここが実行されるのはnumberが20以上のとき
}
}
}
swith
条件分岐にはswitch文という構文もあります。
switch 文は、複数の条件を効率よく処理するための構文です。
switch文は条件の値がcaseの値と一致するとき、処理が実行されます。
swithの時はcaseの後ろのコロン(:)
をつける
基本構文
switch (式) {
case 値1:
// 値1と一致した場合の処理
break;
case 値2:
// 値2と一致した場合の処理
break;
// 追加のケース
default:
// どのケースにも一致しない場合の処理
}
例文
class Main {
class Main {
public static void main(String[] args) {
int day = 3; // 例えば曜日を数値で表す(1=月曜日、2=火曜日、3=水曜日、...)
switch (day) {
case 1:
System.out.println("月曜日");
break;
case 2:
System.out.println("火曜日");
break;
case 3:
System.out.println("水曜日"); // 出力: 水曜日
break;
case 4:
System.out.println("木曜日");
break;
case 5:
System.out.println("金曜日");
break;
case 6:
System.out.println("土曜日");
break;
case 7:
System.out.println("日曜日");
break;
default:
System.out.println("無効な日付");
break;
}
}
}
⑦繰り返し処理(while、for文など)
while文
繰り返し処理の代表的なものにwhile文というのがあります。
whileとは「〜の間」という意味の英語です。
while文では「条件がtrueの間、{ }内の処理を繰り返す」ことができます。
基本の書き方
while (条件) {
// 条件がtrueの間、繰り返し実行される処理
}
.java
class Main {
public static void main(String[] args) {
int number = 10;
// while文を用いて、numberが0より大きい場合に繰り返す処理
while (number > 0) {
System.out.println(number); // 現在のnumberの値を出力
number--; // numberを1ずつ減少させる
}
}
}
コンソール
10
9
8
7
6
5
4
3
2
1
for
for文も繰り返し処理の1つです。
特に、繰り返し回数が決まっている場合に使います🧚♀️(whileとの違い)
基本構文
for (初期化; 条件式; 更新) {
// 繰り返し処理
}
class Main {
public static void main(String[] args) {
// for文を用いて、繰り返し処理をつくってください
for (int i = 1; i <= 10; i++) { // 最初2つには( ; )気をつける
System.out.println(i + "回目のループです");
}
}
}
break と continue
例
class Main {
public static void main(String[] args) {
System.out.println("=== while文 ===");
int i = 1;
while (i < 10) {
// iが5の倍数のとき、繰り返し処理を終了してください
if (i % 5 == 0) {
break; // 5の倍数になったらループを終了
}
System.out.println(i);
i++;
}
System.out.println("=== for文 ===");
for (int j = 1; j < 10; j++) {
// jが3の倍数のとき、処理をスキップしてください
if (j % 3 == 0) {
continue; // 3の倍数のときは、その周回をスキップ
}
System.out.println(j);
}
}
}
結果
=== while文 ===
1
2
3
4
=== for文 ===
1
2
4
5
7
8
⑧配列について
配列は、複数のデータをまとめて扱えるデータ構造です。
変数が1つの値しか保持できないのに対し、配列は複数の値をまとめて1つの変数に保持することができます。
基本構成
int[] numbers={1,2,3};
String[] names ={"hanako","mika","ayaka"};
System.out.println(names[0]); // 出力: hanako
System.out.println(names[1]); // 出力: mika
System.out.println(names[2]); // 出力: ayaka
配列の上書き
配列の要素はインデックスを使って上書きできます。
String[] names ={"hanako","mika","ayaka"};
System.out.println(names[0]); // 出力: hanako
names[0]="kei"; // ;忘れないこと!!
System.out.println(names[0]); // 出力: kei
配列の繰り返し処理
繰り返しをしたいときはfor
を使い、配列のすべての要素に対して繰り返し処理を行います。
基本的な書き方
for (int i = 0; i < 3; i++) {
// 繰り返し処理
}
length
length
は配列の要素数を自動的に取得できる便利なプロパティです。
length
を使うことで、配列の要素数に応じて繰り返し回数が自動的に決まります。
lengthでの書き方
class Main {
public static void main(String[] args) {
String[] names = {"hanako","mika","ayaka"};
for (int i = 0; i < names.length; i++) {
System.out.println("私の名前は" + names[i] + "です");
}
}
}
コンソール
私の名前はhanakoです
私の名前はmikaです
私の名前はayakaです
多次元配列の活用
int [][] rooms = {{101,102,103},{201,202,203},{301,302,303}}
system.out.println(rooms[1][2])
// 出力
203 (1は{201.202.203}表しててその3つの中の2(0.1.2だから3つ目=203))
なるほど理解(^_-)-☆
基本構文
for (型 変数名 : 配列名) {
繰り返し処理;
}
これを使ってさっきの例題で同じ書き方してみると、、、
class Main {
public static void main(String[] args) {
String[] names = {"hanako", "mika", "ayaka"};
// 拡張for文を使用して配列の要素を出力します
for (String name : names) {
System.out.println("私の名前は" + name + "です");
}
}
}
こっちの方が確かにわかりやすいかも🐣🩵
ここまで〜〜〜🐥
Discussion