これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります
インターネット上のショッピングWebサイトなどで、カートに品物を追加すると、現在の買い物に必要な総額が表示されるというのをよく見掛けませんか?
この総額は、品物を追加したり削除したりするたびに変わります。こういったコンピュータを操作している間に値が変化するようなものを扱うプログラムはどのように作ればいいのでしょうか?
今回はこういったプログラムを作成するのに必要な、変数と型について解説します。今回作成するプログラムで、「変数の宣言」「変数へ値を代入」「変数の値を参照」について、どうコーディングするのかを学ぶことができます。
非常に単純ですから、難しいことはありませんが、実行時にユーザーが指定した値を使って計算するプログラムでは、変数が必須となります。プログラミングの基本中の基本として覚えておく必要があります。
なお、EclipseでJavaプログラミングを始める準備がまだの方は、連載第1回の「Eclipse 3.4で超簡単Javaプログラミング基礎入門」で準備しておいてください。
「変数」とは、値を入れる“入れ物のようなもの”です。入れ物なので、変数の中に入る値は変更できます。先ほどのショッピングサイトの総額表示の例では、この変数を総額の計算に用いています。別の表現をすれば、変数とは「プログラムを実行している間に値が変わる数」のことともいえるでしょう。
コンピュータはプログラムを実行している間、この数をメモリに書き込んで保持したり、メモリに保持していた数を読み込んで計算をしたりすることができます。こういった計算に利用するメモリの領域を確保するためには変数の宣言をします。
「メモリ(memory)」というのは、図1に示すようなマス目のシートのようなものとしてイメージすると分かりやすいでしょう。各マス目には0か1の値が書き込めます。各マス目には番号(アドレス、address)を割り振って一意に場所を決めることができるようになっています。
この例では、8マスごとにアドレスが割り振られています。例えば、図1の1600から1602の各アドレスには2進数で整数値が入っていると見なすと、1600には1(2進数で表すと、00000001)、1601には2(2進数で表すと、00000010)、1602には3(2進数で表すと、00000011)が入っているといえます。コンピュータは、これらのマス目に0や1を書き込むことで値を保持したり、書き込まれている値を読み出して計算へ利用したりするのです。
変数の宣言をするときには、メモリ領域をどのように使用するかを決めるための型と、そのメモリ領域の読み書きをするときに使う変数名(正確には、「識別子」)とを指定します。
型にはプログラマが拡張できない基本型(プリミティブ型)と、プログラマが拡張できる参照型(リファレンス型)がありますが、今回は基本型を理解しましょう。ここでは基本型の中でも、初めに知っておくべき3つの型だけを紹介します(表1)。
型名 | メモリ領域をどのような値に使用するか(取り得る値) |
---|---|
boolean | 論理値(trueかfalse) |
int | 整数値(−2147483648〜2147483647) |
double | 実数値(〜1.7976931348623157×(10の308乗) −1.7976931348623157×(10の308乗)) |
表1 Javaの基本型(一部) |
正確には、booleanは「論理型」、intは「32ビット符号付き2の補数表現の整数」、doubleは「64ビットIEEE 754-1985浮動小数点数」です。ここでは読者が理解しやすいように大ざっぱに分類しているだけです。
例えば、1.0×(10の-400乗)は、表1ではdoubleの取り得る値の範囲に含まれますが、実際には使えません。これらの詳細については、本連載の範疇(はんちゅう)を超えるので説明しませんが、興味のある読者の方はコンピュータ科学の教科書などを調べてみてください。
@ITの記事では以下が参考になると思います。
Javaで具体的に変数の宣言をするためには、リスト1のように記述(コーディング)します。変数名は「文字で始めて、その後に文字か数字を続けたもの」を指定します。変数の宣言が終わったことを示すために、最後にセミコロン(;)を書きます。
リスト1 |
int i; |
ここで、「プログラムはコンピュータへの命令を記述するものだ」ということを思い出してください。リスト1はコンピュータへ「intの値を読み書きするためのメモリを用意して、iという名前で使えるようにしなさい」と命令しています。Javaではこのような命令を文と呼びます。セミコロン(;)は文の終了を示すものと考えてもよいです。
次ページでは、実際にEclipseで変数を使ったプログラムを作成し、実行してみましょう。
Copyright © ITmedia, Inc. All Rights Reserved.