IT転職・プログラミングスクール

正しい識別子(変数名,メソッド名)は?【Java Silver例題】

Java Silver 例題

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。

今回は識別子(変数名,メソッド名)についてです。

変数やメソッド名、クラス名などにはプログラマーが任意の名前付けることができ、これを識別子と呼びます。

普段から当たり前のように使う識別子ですが、すべての文字や記号を自由に使えるのではなく、特定のルールが存在します。

Java Silverでは正しい識別子を問う問題が40%ほどの確率で出題されるので、しっかりと対策しておく必要があります。

 

問題:識別子(変数名,メソッド名)について

早速ですが、次の2問を解いてみてください。

問1

次の中から、正しいものを選びなさい。(3つ選択)

A.   void method() { }
B.   void try() { }
C.   void Try() { }
D.   void super() { }
E.   void new() { }
F.   void java() { }

 

問2

次の中から、正しいものを選びなさい。(3つ選択)

A.   char c.1 = 'A';
B.   char C = 'B';
C.   char 1c = 'C';
D.   char $1 = 'D';
E.   char c2 = 'E';
F.   char c(1) ='F';

 

いかがでしょうか?

 

 

答えは

問1 A, C, F
問2 B, D, E   です。

 

Java Silver 問題集
参考記事【Java Silver問題集】高頻出・間違えやすい問題たち

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。 出題確率が高く、間違いやすい例題が解説付きで100問以上あります。   Java Silver 問 ...

続きを見る

 

識別子(変数名,メソッド名)のポイントと解説

識別子のルールとしては次の3つがあります。

識別子のルール

● 記号はアンダーバー_通過記号$だけが使える

数字から始まるとコンパイルエラーになる

予約後を使うとコンパイルエラーになる


ポイントを1つずつ解説していきます。

 

記号はアンダーバーか通過記号だけが使える

識別子に使える記号はアンダーバーか通過記号のみで、それ以外の記号ではコンパイルエラーにとなります。

通過記号には$、¥、¢などがありますがすべて使用可能です。

Java Silverでは通過記号は$のみが出題されます。

 

また、アンダーバーと通過記号は識別子の1文字目に使ってもコンパイルエラーにはなりません。

int _num;   //OK
int $var;    //OK

int num(1);   //コンパイルエラー
int num.a     //コンパイルエラー

 

数字から始まるとコンパイルエラー

識別子には数字を使用できますが、次のように1文字目に使うとコンパイルエラーになります。

char 0c ;       //コンパイルエラー
String 7_str;  //コンパイルエラー

 

予約後を使うとコンパイルエラー

識別子に予約後を使うとコンパイルエラーになります。

予約後とは、for、if、whileなどのJavaプログラムを構成する単語であり、次のようなものがあります。

 

予約語

for goto if implement import
throws throw this synchronized switch
else double do default continue
byte break boolean assert abstract
float finally final extends enum
short return static strictfp super
while volatile void try transient
public protected private new package
case catch char class const
native long interface int instanceof

 

識別子に予約後は使えませんが、予約語に文字を足したものはコンパイルエラーになりません。

また、予約語はすべて小文字であるため、どれか1文字でも大文字にすると予約語ではなくなり使用可能となります。

int const;    //コンパイルエラー

int const1;   //OK
int Const;   //OK

 

解説

問1

次の中から、正しいものを選びなさい。(3つ選択)

A.   void method() { }
B.   void try() { }
C.   void Try() { }
D.   void super() { }
E.   void new() { }
F.   void java() { }

 

この問題は予約語の使用有無を当問題です。

Aのmethodは予約語ではなく識別子に使用可能なので正しいです。

Bに使われているtryは予約語なので間違いです。

CのTryは大文字が使われており、予約語ではなくなるので正しいです。

DとEのsuperとnewは予約語なので間違いです。

Fのjavaは、一見予約語かと思いますが予約語ではありません。
そのため、正しいコードです。

したがって、答えはA, C, Fです

 

問2

次の中から、正しいものを選びなさい。(3つ選択)

A.   char c.1 = 'A';
B.   char C = 'B';
C.   char 1c = 'C';
D.   char $1 = 'D';
E.   char c2 = 'E';
F.   char c(1) ='F';

 

この問題は識別子に使える記号と数字の正しい位置について問う問題です。

Aはドット.が識別子に使えないので、間違いです。

Bは大文字のCだけなので正しいです。

Cは識別子の1文字目に数字を使っているので、間違いです。

Dは通過記号$が識別子の1文字目にありますが、問題ありません。
なので正しいコードです。

Eの識別子は数字が使われていますが、1文字目ではないので正しいです。

Fは識別子にカッコ()が使われていますが、使用不可の記号なのでコンパイルエラーとなります。

したがって、答えはB, D, Eです。

 

 

Java Silver 問題集
参考記事【Java Silver問題集】高頻出・間違えやすい問題たち

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。 出題確率が高く、間違いやすい例題が解説付きで100問以上あります。   Java Silver 問 ...

続きを見る

-IT転職・プログラミングスクール
-,

Copyright© 人生2段飛ばし , 2020 All Rights Reserved Powered by AFFINGER5.