今日は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とか)**にも挑戦してみたい!
こんな感じで、今日も少しずつ前に進めた一日でした🧠💡
ではでは、また次の学習記録で!
スポンサーリンク


