• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:switch で疑問。java超初心者です。)

Javaのswitch文での初期化エラーについて

このQ&Aのポイント
  • Javaのswitch文で、変数を初期化しないとエラーが発生することがあります。
  • 通常、変数を宣言する際には初期化しなくてもエラーになりませんが、switch文の中では初期化が必要です。
  • 具体的には、switch文内で使用される変数に対して初期値を代入する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

>変数 s は初期化されていない可能性があります。 変数を使う前(System.out.print(s); より前)には、必ず代入する必要があります。 sへの代入は、switchの中の各caseの部分にしか無いですが、switchにdefaultが無いとどのcaseも実行されないかも知れない(例えばnが10のケース)ので、「初期化されていない可能性があります」ということです。

yukiyayako
質問者

お礼

早速のご回答、ありがとうございました。 まだまだJavaに携わったばかりで、こんな質問をしてしまい、失礼しました。 回答を見て、 あー、なるほど。。。 という感じでした。 勉強不足を痛感致しました。 ありがとうございました。

その他の回答 (2)

  • BuriBuri4
  • ベストアンサー率28% (150/525)
回答No.3

defaultが無くなったから。 nが0,1,2,3以外の場合に初期化されていない状態でsが参照される可能性がある。 String s ; System.out.print(s); と、やってしまったのと同じ状態が起きうると言う警告ですのでswitchがうんたらとは関係ありません。

yukiyayako
質問者

お礼

わかりやすい説明、ありがとうございました。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>String型の変数を使っていて、今まではこのようなエラーは出た事が無かったのですが、 >どうやらswitch文の中では、初期化しろ、と出てくるようです。 別段switch文の中だからとかではなく、変数sが初期化なく(何も値が設定されずに)参照される可能性があるのでエラーとなっているだけです(エラーメッセージの通り)。

yukiyayako
質問者

お礼

コトは単純な話だあったんですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう