Java (Bronze SE 7/8) 資格試験 Exercise21
Java (Bronze SE 7/8) 資格試験 Exercise21
1 | class ForTest { |
---|---|
2 | public static void main(String[ ] args) { |
3 | String[ ] color = { “red”, “blue”, “white”, “black” }; |
4 | |
5 | for(int i = 1; i <= color.length; i++) { |
6 | System.out.println(color[i] + ” : “); |
7 | } |
8 | } |
9 | } |
01
(答え):D
(解説):for文についての問題です。
●各選択肢の解説は、以下の通りです。
3行目では四つのString型要素を格納した配列を生成しています。添え字は0から始まります。
5~7行目で配列の要素を出力するfor文を定義しています。
5行目の先頭に定義したカウンタ変数iは1で初期化され、条件式はi<=color.lengthとなります。i++で一回のループごとに1ずつインクリメントされることを考えると、for文はカウンタ変数iが「1、2、3、4」の間ループすることになります。
6行目ではcolor[i]の定義でループごとにolor[1]の”blue”、color[2]の”white”、color[3]の”black”が出力されます。
しかし、四回目のループはcolor[4]の出力となり、配列に存在しない要素へのアクセスが発生し、実行時エラーとなります。(ArrayIndexOutOfBoundsExceptionの発生)
したがって、選択肢Dが正解です。
1 | class ExForTest { |
---|---|
2 | public static void main(String[ ] args) { |
3 | int[ ] num = new int[5]; |
4 | num[0] = 0; |
5 | num[1] = 1; |
6 | for(int i : num) { |
7 | System.out.println(i + ” “); |
8 | } |
9 | } |
10 | } |
02
(答え):B
(解説):拡張for文についての問題です。
●各選択肢の解説は、以下の通りです。
3行目で要素が5個の配列numを生成しています。
各要素の値を初期化せずに配列を生成した場合は、初期値が代入された状態で生成されます。int型の配列の初期値は0です。
4行目、5行目でnum[0]とnum[1]にそれぞれ0と1を代入しています。
6行目の拡張for文では、変数iにnum[0]~num[4]の値を順番に代入して処理します。よって、7行目では、「0 1 0 0 0」と出力されます。
したがって、選択肢Bが正解です。
1 | class ForTest { |
---|---|
2 | public static void main(String[ ] args) { |
3 | for(int i = 0; i < 3; i++) { |
4 | switch(i) { |
5 | case 1: |
6 | System.out.println(1); |
7 | case 2 : |
8 | System.out.println(2); |
9 | case 3 : |
10 | System.out.print(3); |
11 | } |
12 | } |
13 | } |
14 | } |
03
(答え):D
(解説):for文とswitch文についての問題です。
●解説は以下の通りです。
3行目のfor文ではカウンタ変数iは0で初期化されているため、変数iが0、1、2の間、3回ループ処理を行います。
1回目のループでは、変数iが0のためswitch文の条件には一致しません。よって、何も出力されません。
2回目のループで、変数iは1になり、switch文のcase 1:に一致します。そのため6行目で1を出力し、break文がないため続けてcase 2:とcase 3:を実行し、「123」と出力します。
3回目のループでは、変数iは2になり、switch文のcase 2:に一致します。break文がないため続けてcase 3:を実行し、「23」と出力します。
4回目のループでは、変数iは3になり、ループの条件判定はfalseとなるため、ループは終了します。
実行結果は「12323」と出力されるため、選択肢Dが正解です。
拡張for文の構文は、以下の通りです。
for(変数宣言 : 配列名) {
// 処理
}
拡張for文は( )内の右辺で指定した配列の要素を、先頭から順に( )内の左辺で宣言した変数で受け取り、処理を実行します。
for文は、繰り返し処理を行うために使用します。
switch文は、式の結果とcase文をもとに多分岐処理を行います。
Java(Bronze SE 7/8)資格試験 Exercise20

恭喜你今天又向前迈进了一小步,明天继续加油哦!

如果你觉得这个网站对学习有帮助,希望你也能分享给身边的好友!