本連載は、サン・マイクロシステムズ認定のJava資格Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)に対応しています。最新の出題傾向に基づいて、ソースコードの問題を中心に毎回模擬問題を1問出題します。ソースコードに慣れながら、SJC-P合格を目指して頑張りましょう。
連載第1回の今回は、Java SE 5.0で新たに導入された、列挙型からの出題です。
列挙型とは、プログラマが任意に作成できる、ある特定の値のみを持つ型のことです。簡単にいえば、定数を表現する専用の型を作ることです。定数をそのまま記述できるので、ソースコードが読みやすくなり、間違いも減ります。
列挙型を定義するには、enumキーワードを使用して型を宣言し、任意の値を列挙します。列挙型は、クラス定義内でも、クラス定義外でも宣言できます。ただし、メソッドの中に宣言することはできません。
【構文】
[修飾子] enum 列挙型名 {値1,値2,値3……n }
(例)
public enum Card { SPADES, CLUBS, DIAMONDS, HEARTS }
列挙された値を参照するには、「列挙型名.値」とします。つまり、上記の例であれば、「Card.SPADES」と記述します。また、列挙された値の前後にダブルクオテーションが付いていないことからも判断できますが、文字列として列挙していません。クラス内部では整数を基に処理されているため、switch文のcaseにも使用することができます。
以下の問題を考えてみてください。解答と解説は次のページにあります。
問題
次のプログラムをコンパイルし、実行するとどうなりますか? 1つ選択してください。
1. class Test { 2. public enum Cats {HANA, NAMI}; 3. public static void main(String[] args) { 4. Cats cat = Cats.HANA; 5. switch(cat) { 6. case HANA: 7. System.out.println("HANA"); 8. case NAMI: 9. System.out.println("NAMI"); 10. } 11. } 12. }
A.HANA
B.NAMI
C.コンパイルエラー
D.HANA
NAMI
E.実行時エラー
Copyright © ITmedia, Inc. All Rights Reserved.