みんなで挑戦! OCJP Bronze SE 7 資格。

duke

皆さま。こん**は。

9月22日よりOCJP Bronze SE 7資格のJava SE 7 Bronze(1Z0-802)試験を開始しました!

OCJP Bronze SE 7 資格とは?
bronze_logo OCJP Bronze SE 7資格はJava言語を初めて学習する方を対象としています。Javaの基本構文やオブジェクト指向の考え方、およびクラスやインタフェースを用いたオブジェクト指向プログラミングについて理解できているかどうかが問われます。これにより本格的な開発業務に携わっていくための基礎知識を有するエンジニアであることを認定します。


具体的にどんなトピックが試験範囲に含まれるかはテスト内容チェックリストをご確認いただければと思いますが、試験で出題されるトピックについて何回かにわけてご紹介してきたいと思います。


出題トピックのおさらい:
今回おさらいするトピックは『データの宣言と使用』です。
前回はプログラムの作成~実行の流れをご紹介しましたが、本日はプログラムでのデータの扱いについてご紹介します。

変数とは?

プログラムの中ででデータを一定期間保持して使用できるようにするためのものです。プログラムではたくさんのデータを扱うことになるので変数に名前をつけて識別できるようにしています。この名前のことを特に『識別子』と呼びます。変数があらわしているデータそのものは『値』と呼びます。


プログラムでは変数の宣言と値の代入によってデータを保持ます。具体的にJavaではどのように記述するのでしょうか?

1. 変数の宣言
Javaで変数の宣言を行うには以下のように記述します。
変数型 識別子;  //注: 今回はアクセス修飾子については触れません。別の機会にご紹介します。
  例:
int i;
この例では「int型でiという名前の変数を用意します」と宣言しています。

変数の型
変数の値はデータ型と呼ばれる値の範囲(サイズ)が決められています。先の例に出てきたintは値の範囲が32ビット整数であることを表しています同じ整数でもっと大きな値を扱いたい場合はlong型(64ビット整数)を使用することができます。

    データ型    
値の範囲
 boolean  true か false
 char
 16ビットUnicode文字 (\u0000~\uFFFF)
 byte  8ビット整数 (-128~128)
 short  16ビット整数 (-32768~32767)
 int  32ビット整数 (-2147483648~2147483647)
 long  64ビット整数 (-9223372036854775808~9223372036854775807)
 float  32ビット単精度浮動小数点数
 double
 64ビット倍精度浮動小数点数


今回ご紹介したデータ型は基本データ型(プリミティブ型)と呼ばれるものです。Javaではこれ以外に参照型と呼ばれるデータ型もあります。

TIPS: 識別子と予約語
識別子は命名規約を満たしていれば任意の文字列が使用できますが、Javaではプログラムの制御など特別な意味を持った単語があります。これらは予約語と呼ばれ識別子には使うことができません。
[Javaの予約語]
abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchrnized, this, throw, throws, transient, try, void, volatile, while


それでは変数numの値を出力するサンプルを作ってみましょう。(ソースファイルはTest.javaというファイル名で保存して下さい)
1. public class Test {
2.     public static void main(String[] args) {
3.         int num;
4.         System.out.println(num);
5.     }
6. }

… コンパイルできましたか?実はこのコードはコンパイルに失敗し次のようなエラーが表示されます。

  C:\work>javac Test.java                                         
  Test.java:4: 変数 num は初期化されていない可能性があります。    
          System.out.println(num);                                
                             ^                                    
  エラー 1 個                                                     

 これは変数numの宣言はできているのですがnumに値が関連付けられていないことが理由です。そこで…


2. 変数の代入
変数を宣言したら保持するデータ(値)を教えてあげましょう。変数と管理するデータを関連付ける処理が代入です。
Javaで代入を行うには代入演算子(=)を使用します。
    識別子 = 値;
  例:
    i = 100;
この例ではiという変数に値100を代入しています。

初めて変数に値を代入することを初期化といいます。Javaでは変数の宣言と初期化は同時に行うことができます。
  例:
    int i = 100;
この例ではint型の変数iに値100を代入(初期化)しています。

変数の初期化(代入)の方法が理解できたとも思いますので先ほどのサンプルを修正してみましょう。
1. public class Test {
2.     public static void main(String[] args) {
3.         int num = 123;
4.         System.out.println(num);
5.     }
6. }

今度は無事コンパイルできたはずです。プログラムをコンパイルして実行すると次のような結果になります。

  C:\work>javac Test.java                                         
  C:\work>java Test                                               
  123                                                             

TIPS: 変数の暗黙的な初期化
変数は初期化が必要なもの(ローカル変数)と自動で初期化が行われるもの(メンバ変数)があります。こちらのトピックは別の機会にご紹介します。

次はlong型の変数の宣言と初期化を行なってみましょう。
  例1:
    long l = 1000000000;

long型を扱う際は注意が必要です。Javaでは整数の処理は標準ではint型(32ビット)で行われます。ところがlong型は64ビットの値を持つデータ型のためint型の値の範囲(-2147483648~2147483647)を超える値を扱うことができます。そこでint型を越えるlong型の範囲の数値をプログラムの中で記述する場合は、数値の最後に「L」または「l」を付記してください。

  例2:
    long l = 10000000000L; // (int型の範囲より大きい値)

byte型やshort型を明示的に表すための文字はありません。その為、byte型やshort型の変数に値を代入する時は単に数値を記述します。




最後に試験問題の雰囲気を把握するために例題を見てみましょう。
例題:

次の中で正しく変数の宣言と初期化が行えているものはどれですか?

A. double this = 10;
B. long l = 10000000000;
C. float 10pt = 10;
D. int i = -10;

正解:

D. int i = -10;

変数の識別子には予約語を使うことはできません。また、数字から始まる識別子も使用することができないため、AとCは誤りです。long型の値を代入する場合は値の末尾にL(l)が必要になるので選択肢Bも誤りです。選択肢Dはint型の変数iを宣言して値-10で初期化を行えています。


おすすめ研修:
OCJP Bronze SE 7 / OCJP Silver SE 7に対応した研修『Java SE 7 プログラミング I』が間もなく登場します。研修実施の準備が整いましたら改めてご案内しますのでご期待ください。

サンプル問題:
Java SE 7 Bronze(1Z0-802)試験のサンプル問題が公開されているのをご存知でしたか?問題試験の出題形式や難易度の目安にご活用ください(問題数は7問です)。

それではまた。

Comments:

Post a Comment:
Comments are closed for this entry.
About

Inside ORACLE MASTER - ORACLE MASTERに関連する最新情報をお届けします。

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today