for の問題1
以下のようなコードがあります。(開始から終了までの部分)
//開始
class Test{
public static void main( String argv[] ){
for( int i = 0; i < 5; i ++ )
System.out.println( "i == " + i );
System.out.println( "Go to next!" );
}
}
//終了
このコードをコンパイルし実行するとどうなるでしょうか。
選択肢から1つ選択してください。
(コンパイル、実行の方法は正しく行われるものとします。)
a. Go to next! は1回表示される。
b. Go to next! は2回表示される。
c. Go to next! は3回表示される。
d. Go to next! は4回表示される。
e. Go to next! は5回表示される。
f. Go to next! は表示されない。
g. コンパイルエラーとなる。
前の問題
解答・解説
次の問題
a. Go to next! は1回表示される。
for の問題1(解説)
まずは for の構文を確認しましょう。
for( 初期化式; 条件式; 反復式 ){
//ループ処理
}
基本的には上記のように記述するケースが多いかと思います。
しかし、Java では(おそらく)他の言語のプログラマに配慮して
次のような構文も認めています。
for( 初期化式; 条件式; 反復式 )
//ループ処理
この構文では中括弧 { } がありませんね。
でもこれも立派な for ループになります。
見て分かると思いますが、問題文のループ文もこれに相当します。
基本的にはいずれの構文も動作は同じですが、中括弧なしの構文に
は一つ注意事項があります。
それは、中括弧がない場合、for の適用範囲が直後の文1つだけに
限られるということです。
つまり、次の for 文では文2はループの外ということになります。
for( 初期化式; 条件式; 反復式 )
//文1(ループ内)
//文2(ループ外)
このため、今回の問題の System.out.println( "Go to next!" );
という文もループの外ということになり、一回しか実行されません。
そのため答えは a となります。
for についてのもっと詳しい説明は以下のページで確認してくださいね。
SJC-P対策Java用語集・for
ところで、今回の問題は間違いやすくするために、わざとインデント
を揃えて記述しましたが、このような記述は当然望ましくありません。
以下のように直すべきでしょう。
for( int i = 0; i < 5; i ++ )
System.out.println( "i == " + i );
System.out.println( "Go to next!" );
↓
for( int i = 0; i < 5; i ++ )
System.out.println( "i == " + i );
System.out.println( "Go to next!" );
でも一番良いのは、やはり中括弧をつけてループの範囲を明確にする
ことです。
for( int i = 0; i < 5; i ++ )
System.out.println( "i == " + i );
System.out.println( "Go to next!" );
↓
for( int i = 0; i < 5; i ++ ){
System.out.println( "i == " + i );
}
System.out.println( "Go to next!" );
こうすれば for の適用範囲を間違えることはありませんね。
もしあなたが必ず中括弧を付けるから、この構文を進んで使用する必要は
全くありません。
しかし Java ではこのような記述が認めれられているため、当然のことな
がら試験に出る可能性があります。
また、他人のコードをメンテナンスするときに出会うこともあるでしょう。
進んでこのような記法を利用する必要はありませんが、試験対策や他人の
コードをメンテナンスするために、知識として知っておく必要はあります。
関連ページ:SJC-P対策Java用語集・for
前の問題
この問題
次の問題
|
SJC-P対策問題集
Java認定試験( SJC-P/310-035 )対策のメルマガ問題集も好評発刊中!
もちろん無料です。
またバックナンバーも見やすくしてオンライン問題集として随時アップしていきます。
受験しない人でも Java の基礎知識を学習するのに最適です。
SJC-P対策参考書
現在、Java認定試験(SJC-P/310-035)対策の参考書は本当にたくさん出版されてます。
ここでは、その中から厳選した本当に役立つ参考書を紹介します。
無駄な出費を抑えるためにも、ぜひ参考にして下さい。
SJC-P対策Java用語集
Java認定試験( SJC-P/310-035 )合格のために必要な Java の用語を集めました。
試験対策にはもちろん、試験以外で Java を学習する際にもご活用下さい。
更新履歴
このサイトの最新情報はここで確認できます。
また、今までこのサイトがどのような軌跡を辿ってきたのかも知ることができます。
Javaを始める人へ
これからJavaを始めようとしているあなたへ。
Javaの勉強を始めるにはどうしたら良いのかを説明しています。
また、初心者に役立つ情報を提供していきます。
Java認定資格の概要
Java認定資格にはどのようなものがあるのか。
資格取得のためにはどのような知識が必要なのか。
その他、資格を取得することのメリットなど、Java認定資格の概要を説明します。
LINK
Javaの勉強に役立つリンク。
その他のプログラミングに関するリンク。
ソフトウェアに関するリンクなど、管理人の主観で集めたリンク集です。
相互リンクも常時募集中!
詳細は以下のページで確認して下さい。
このサイトについて
このサイト「1発合格★Java認定試験!」についての説明です。
サイトで掲載しているソースコードや問題や免責事項などについて説明しています。
初めての人は一度のぞいてみて下さい。
ちょっとひと息
仕事や試験勉強に疲れたら、ここでちょっと一息つきませんか。
一生懸命に打ち込むのも良いけど、たまには何も考えずにゆっくり休むのも良いものです。
たまにはのんびり脳みそをリフレッシュしましょう。
|