私はSCJPの練習資料を読んで、フロー制御の章を飛び越え、 "else if
"というキーワードを単独で使用しているという印象を受けました。私はいつもそれがちょうど普通のelse
であると考えていましたが、ブロックが省略されたif
ブロックだけが含まれていました。Javaでは "else if"は1つのキーワード全体か2つの別個のキーワードですか?
これはどちらですか?
編集:この質問は、「深刻なビジネス」よりも「私の関心が高い」カテゴリにあることを強調したいと思います。
私はSCJPの練習資料を読んで、フロー制御の章を飛び越え、 "else if
"というキーワードを単独で使用しているという印象を受けました。私はいつもそれがちょうど普通のelse
であると考えていましたが、ブロックが省略されたif
ブロックだけが含まれていました。Javaでは "else if"は1つのキーワード全体か2つの別個のキーワードですか?
これはどちらですか?
編集:この質問は、「深刻なビジネス」よりも「私の関心が高い」カテゴリにあることを強調したいと思います。
2つの単語の間のスペースで示される2つの別個のキーワードとなります。
それは実際に私は何のJava専門家だが、Cでそれは確かに二つの異なるキーワードとして定義されています、とJavaはCの構文のその部分からかなり自由に盗んだ
else {
if { ... }
}
}他{ } は、あまりにも動作します。 – scheibk
言います。
それにもかかわらず、試験での愚かな質問以外では、実際にはそれほど大きな違いはありません。その効果はいずれの場合も同じです。
ええ、私は実用的な無意味さを認識しています。奇妙な理由のために、私はこれらの無関係のデータを知りたい。 –
はい、これらは別々の2つのキーワードです。Java language specificationにはelse if
キーワードが指定されていません。実際には、他のポスターが言ったように、if
ステートメントはelse
ステートメントの内部に含まれています。
EDIT:多くのトレーニング/教材は、else if
が実際にはキーワードであることを暗示しているようです(実際には、通常はそのように扱われます)が、これはわかりやすいように思っています/シンプルさと、精度を犠牲にする結果。
私は信じる2つの別々のキーワード。しかし、以外のはの場合はであることはできません。
あなたは真剣にあなたがelse文を書くことができないと言っていますか? :P –
あなたは私が何を意味するか知っています... – edwardsmatt
これは、2つのキーワードです。
elseの後にブロックまたは単一のステートメントが続きます。
の場合elseの場合。ステートメントはステートメントの場合は別のです。
更新
それはが深くネストされた if文のための一般的なスタイルの選択であり、この状況は非常に読みやすく、ネストより行った場合、その他に言及して損はありません。 スイッチステートメントでフォールスルーの動作が必要な場合を除き、代わりにの場合はを使用します。
一部の言語では 'elsif'、 'elseif'、または 'else if'が別のステートメント(「case」ステートメントと似ています)として存在しますが、Javaはその1つではありません。
も参照してください:(真/偽)であればhttp://stackoverflow.com/questions/637980/if-else-and-if-elseif – Gumbo