for に関連した出題:5問目(SJC-P対策無料問題集)

Java認定資格(SJC-P/310-035)を一発合格したい!
このサイトは、そんなあなたを本気で応援します!!
SJC-P(310-035)対策のメルマガ問題集も好評発刊中。
ぜひあなたの受験に役立ててください。
メールマガジンの購読はもちろん無料です!

登録はこちらから→SJC-P対策メルマガ問題集
TOP    >>    SJC-P対策問題集    >>    for に関連した出題:5問目

for に関連した出題:5問目

for の問題5

以下のようなコードがあります。(開始から終了までの部分)

//開始
public class Test{
   public static void main( String args[] ){
      int i = 0;
      for( sayHello(); i <= 6; i += 3 ){
         sayHello();
      }
   }

   static void sayHello(){
      System.out.println( "Hello!" );
   }
}
//終了

このコードをコンパイルし実行すると Hello! は何回表示され
るでしょうか。
(コンパイル、実行の方法は正しく行われるものとします。)


a.  0回表示される。
b.  1回表示される。
c.  2回表示される。
d.  3回表示される。
e.  4回表示される。
f. コンパイルエラーとなる。
g. いずれの選択肢(a〜f)にも該当しない。

前の問題     解答・解説     次の問題


















































for の問題5(解答)

e.  4回表示される。

for の問題5(解説)

まず最初に for の構文を確認しましょう。

・中括弧ありの場合
for( 初期化式; 条件式; 反復式 ){
   //処理文
}
・中括弧なしの場合
for( 初期化式; 条件式; 反復式 )
   //処理文

for についてのもっと詳しい説明は以下のページで確認してくださいね。

SJC-P対策Java用語集・for

この問題では、中括弧ありの for ループ構文となっています。

初期化式というのは、for ループに入るときに一度だけ実行される文でした。
通常この初期化式は、for の条件式で使用される変数の初期化に利用します。
しかし強制ではないため、変数の初期化以外の処理を記述しても全く問題はありません。

今回の問題では初期化式の部分が変数の初期化ではなく、 sayHello() というメソッドの呼び出しになっています。
つまり、for ループに入るときに一度 sayHello() メソッドが呼び出されて実行されるということになります。
処理の流れを見てみましょう。

実行される内容 i の値の動き 条件式の評価
for ループ開始
初期化式の実行 sayHello() i == 0  
 
条件式の評価 i <= 6 i == 0 true
処理文の実行 sayHello() i == 0  
反復式の実行 i += 3 i == 3  
 
条件式の評価 i <= 6 i == 3 true
処理文の実行 sayHello() i == 3  
反復式の実行 i += 3 i == 6  
 
条件式の評価 i <= 6 i == 6 true
処理文の実行 sayHello() i == 6  
反復式の実行 i += 3 i == 9  
 
条件式の評価 i <= 6 i == 9 false
for ループ終了

上記の通り sayHello() メソッドは4回実行され、解答は e になります。
このように、初期化式は必ずしも変数の初期化を行う必要はありません。
見慣れていないと戸惑うかもしれないので、自分でも色々試して見ましょう。

関連ページ: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認定試験!」についての説明です。
サイトで掲載しているソースコードや問題や免責事項などについて説明しています。
初めての人は一度のぞいてみて下さい。

ちょっとひと息

仕事や試験勉強に疲れたら、ここでちょっと一息つきませんか。
一生懸命に打ち込むのも良いけど、たまには何も考えずにゆっくり休むのも良いものです。
たまにはのんびり脳みそをリフレッシュしましょう。

Copyright (C) sjc-p.obx21.com. All Rights Reserved.
このサイトはどのページにでも直接リンクして頂いて結構です。リンク大歓迎!
このページのトップページのURLはhttp://sjc-p.obx21.com/です。

Java関連情報
Spring / JSF(JavaServer Faces) / Hibernate / Jbuilder / TOMCAT入門 / NetBeans / JUnit / Struts
Strutsリファレンス / ANT / TOMCAT / JavaでWebサービス / JDBC / JBoss / J2EE / iアプリ
EJB / アプレット / JavaとXML / JMF(Java Media Framework) / Java3D / Jakarta Commons / JNI / OracleとJava
EclipseでJava入門 / Java RMI, CORBA / JSP/サーブレット入門・初心者向け / Javaネットワークプログラミング / WebLogic