連載
» 2007年12月26日 00時00分 公開

ソースコードで学ぶ SJC-P 5.0 ドリル(1):Java SE 5.0の新機能、列挙型を習得する (1/2)

本連載は、サン・マイクロシステムズ認定のJava資格Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)に対応しています。最新の出題傾向に基づいて、ソースコードの問題を中心に毎回模擬問題を1問出題します。ソースコードに慣れながら、SJC-P合格を目指して頑張りましょう。

[山本道子,有限会社 Ray]

 連載第1回の今回は、Java SE 5.0で新たに導入された、列挙型からの出題です。

列挙型とは

 列挙型とは、プログラマが任意に作成できる、ある特定の値のみを持つ型のことです。簡単にいえば、定数を表現する専用の型を作ることです。定数をそのまま記述できるので、ソースコードが読みやすくなり、間違いも減ります。

 列挙型を定義するには、enumキーワードを使用して型を宣言し、任意の値を列挙します。列挙型は、クラス定義内でも、クラス定義外でも宣言できます。ただし、メソッドの中に宣言することはできません。

【構文】
[修飾子] enum 列挙型名 {値1,値2,値3……n }

(例)
public enum Card { SPADES, CLUBS, DIAMONDS, HEARTS }

列挙型を利用する

 列挙された値を参照するには、「列挙型名.値」とします。つまり、上記の例であれば、「Card.SPADES」と記述します。また、列挙された値の前後にダブルクオテーションが付いていないことからも判断できますが、文字列として列挙していません。クラス内部では整数を基に処理されているため、switch文のcaseにも使用することができます。

図1 列挙型の構文と例のイメージ 図1 列挙型の構文と例のイメージ

演習問題

 以下の問題を考えてみてください。解答と解説は次のページにあります。

問題

 次のプログラムをコンパイルし、実行するとどうなりますか? 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.実行時エラー

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。