- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:switch で疑問。java超初心者です。)
Javaのswitch文での初期化エラーについて
このQ&Aのポイント
- Javaのswitch文で、変数を初期化しないとエラーが発生することがあります。
- 通常、変数を宣言する際には初期化しなくてもエラーになりませんが、switch文の中では初期化が必要です。
- 具体的には、switch文内で使用される変数に対して初期値を代入する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>変数 s は初期化されていない可能性があります。 変数を使う前(System.out.print(s); より前)には、必ず代入する必要があります。 sへの代入は、switchの中の各caseの部分にしか無いですが、switchにdefaultが無いとどのcaseも実行されないかも知れない(例えばnが10のケース)ので、「初期化されていない可能性があります」ということです。
その他の回答 (2)
- BuriBuri4
- ベストアンサー率28% (150/525)
回答No.3
defaultが無くなったから。 nが0,1,2,3以外の場合に初期化されていない状態でsが参照される可能性がある。 String s ; System.out.print(s); と、やってしまったのと同じ状態が起きうると言う警告ですのでswitchがうんたらとは関係ありません。
質問者
お礼
わかりやすい説明、ありがとうございました。
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.2
>String型の変数を使っていて、今まではこのようなエラーは出た事が無かったのですが、 >どうやらswitch文の中では、初期化しろ、と出てくるようです。 別段switch文の中だからとかではなく、変数sが初期化なく(何も値が設定されずに)参照される可能性があるのでエラーとなっているだけです(エラーメッセージの通り)。
質問者
お礼
コトは単純な話だあったんですね。 ありがとうございました。
お礼
早速のご回答、ありがとうございました。 まだまだJavaに携わったばかりで、こんな質問をしてしまい、失礼しました。 回答を見て、 あー、なるほど。。。 という感じでした。 勉強不足を痛感致しました。 ありがとうございました。