Javaプログラミング初心者のためのページ -8ページ目

配列に対するループ:問題2

問題:以下のプログラムの実行結果は以下のうちどれか?

A. 実行時に例外「ArrayIndexOutOfBoundsException」が発生する
B. 2345 が出力される
C. 12345 が出力される
D. 何も表示されない

class M {

public static void main(String[] args) {
int[] x = { 1, 2, 3, 4, 5 };
for (int i = 1; i < x.length; i++) {
System.out.print(x[i]);
}
}

}













解答:
B. 2345 が出力される

配列に対するループ:問題1

問題:以下のプログラムの実行結果は以下のうちどれか?

A. 実行時に例外「ArrayIndexOutOfBoundsException」が発生する
B. 2345 が出力される
C. 12345 が出力される
D. 何も表示されない

class M {

public static void main(String[] args) {
int[] x = { 1, 2, 3, 4, 5 };
for (int i = 0; i > x.length; i++) {
System.out.print(x[i]);
}
}

}













解答:
D. 何も表示されない

メソッドのオーバーロード

・同一クラスや継承関係のあるクラスの中で、
・引数の型・数・並びが異なる
・同じ名前の

メソッドを複数定義することを、メソッドのオーバーロードといいます。

戻り値のみが異なるメソッドを複数定義した場合はコンパイルエラーです。



問題:オーバーロードはどれか
A.
  int x(){}
  boolean x(){}

B.
  void x(int i){}
  void x(int j){}

C.
  void x(int a){}
  void x(boolean a){}

D.
  void x(){}
  void y(){}
















解答:
C.
  void x(int a){}
  void x(boolean a){}
 メソッド名引数の


解説:
A.
  int x(){}
 と
  boolean x(){}
 は、戻り値のみ異なります。
 メソッド名と引数(なし)が同じメソッドは
 複数定義できないためコンパイルエラーです。

B.
  void x(int i){}
 と
  void x(int j){}
 は、引数名が異なりますが、
 メソッド名と引数(int型1つ)が同じメソッドです。
 A.と同じ理由(同時に複数定義できない)ためコンパイルエラーです。


D.
  void x(){}
 と
  void y(){}
 は、メソッド名のみ異なります。
 これは単に違うメソッドを2つ定義しただけです。
 当然コンパイルエラーにはなりません。