今日はJavaの勉強で「式と演算子」や「型変換」、「if文」なんかを中心に進めてました!
その中でも一番楽しかったのが、サイコロゲームを作ったこと!
今日の勉強ポイントまとめ
数値リテラル(2進数・16進数)
0b
から始めると2進数(例:0b101
→ 5)0x
から始めると16進数(例:0xFF
→ 255)
仕組みはちょっとややこしかったけど、表を見ながらゆっくり練習すればOKって感じでした。
型変換のあれこれ
- 自動型変換:
int
→double
みたいに勝手に変換される - 強制型変換(キャスト):
double
→int
など、明示的に変換が必要
double height = 170.5;
int rounded = (int)height; // → 170
あと「f」がないと float
に代入できないっていうのも地味に引っかかったポイント。
if文で条件分岐!
最初 =
と ==
を間違えてエラーになったけど、==
は「等しいかどうかを比べる」、=
は「代入する」っていう違いを体感できました。
if (dice1 == dice2) {
System.out.println("引き分け!");
}
サイコロゲームを作ってみた!
今回の学習の集大成として、簡単なサイコロゲームを自作!
- プレイヤーとコンピューターがそれぞれサイコロを振る
- 大きい目を出したほうが勝ち
- 同じ目なら引き分け!
int dice1 = (int)(Math.random() * 6) + 1;
int dice2 = (int)(Math.random() * 6) + 1;
+1
っていうのがちょっと不思議だったけど、Math.random()
は「0.0以上1.0未満」しか出ないから、1〜6にしたいときは +1
が必要なんですね
感想
今日は頭が混乱する場面もあったけど、
最終的には「自分でちょっとしたゲームが作れた」っていう達成感がすごく大きかった!
やっぱり、学んだことを「使ってみる」って大事だなあって思いました。
最初、=
と ==
をうっかり間違えてて、なぜかエラーが出る…!
「なんでやねん!」って思って調べてみたら、
=
は 代入==
は 比較(等しいかどうか)
ってことらしくて、あーなるほど…と納得。
実際に if (dice1 == dice2)
みたいにちゃんと書いたら、「引き分け!」って表示されて無事成功!
エラーになったことも含めて、いい経験でした。
次は、**ユーザーに入力してもらう処理(Scannerとか)**にも挑戦してみたい!
こんな感じで、今日も少しずつ前に進めた一日でした🧠💡
ではでは、また次の学習記録で!
スポンサーリンク