メディアプラネット 中島省吾
前回までに,Java言語の特徴や,Javaプログラミングを学習するコツなどについて説明しました。今回からは,実際にJavaプログラムを書くために必要な約束ごと,つまりJavaの基本的な文法について説明していきます。
変数 |
変数とは
変数は値を格納する領域に対して,名前を付けたものです。変数は,よく器にたとえられます。変数a,変数bを用意してそれぞれ,「3」と「4」という値を入れます。この2つの変数の値を合計して変数cに代入すると,変数cの値は7になります。
どうですか,昔,数学でやった記憶はありませんか? このような変数を使った計算をJava言語では,次のように記述します。
a = 3;
b = 4;
c = a + b;
Java言語では,値やオブジェクトを変数にセットするようなとき,代入演算子「=」を使用します。「=」は代入であって,イコール(同じ)という意味ではありません。したがって,次の2つは,同じ意味ではありません。
a = 3; // 変数aに3を代入する
3 = a; // 3は変数名にはならないので,数値に代入にしようとしてエラーになる
変数には,必ず名前をつけなければいけません。その名前の付け方にも決まりがあります。
変数の名前付け規則 |
変数名の先頭文字は、英字か$記号かアンダーラインで始める。 |
変数名に文字数の制限はありません。 |
変数名は、英字か$記号かアンダーラインか数字による一連の文字で構成する |
変数名に、漢字・ひらがな・カタカナを使うことはできない。 |
変数の宣言
Java言語では,変数は宣言しなければ使うことはできません。例えば,変数は以下のように宣言します。
int a;
int b;
int c;
ここでは,a,b,cという3つの変数を宣言して,a,b,cが変数であることをコンパイラに指示しています。最初に「int」というキーワードがありますが,これは「基本データ型」と呼ばれるものです。詳しくは次の項で説明します。
次に基本データ型が「long」の変数a,b,cを宣言してみます。
long a;
long b;
long c;
このようにJava言語では,変数を宣言するとき,次のような構文で表現します。
データ型 変数名;
また,同じデータ型の変数をカンマで区切って,1行で宣言する方法もあります。
long a, b, c;
変数の基本データ型
変数の宣言に出てくる「int」や「long」といったキーワードは「基本データ型」と呼ばれます。最初に変数は,器のようなものだと説明しましたが,これはあくまで人間が考え出した概念的なものです。実際には(物理的には),コンピュータのメモリーに変数が作られます。つまり,人間の想像力とは違い,メモリに記憶できるデータは有限なので,メモリーの容量を超える値は,変数に格納することができません。そこで,変数に記憶できるデータの種類やサイズを限定することで効率よくメモリーを使用しようとしたのが,データ型ができた理由です。
データ型によって,変数は代入できるデータに制限が生まれます。もし,互換性のないデータ型の値を変数に代入しようとするとコンパイルエラーや実行時にランタイムエラーを起こす場合があります。変数の宣言にはデータ型の指定が必要です。Javaには以下のような基本データ型があります。
整数型 | byte、short、int、long |
浮動小数点型 | float、double |
文字型 | char |
真偽型 | boolean |
Java言語の変数には,参照型という型もありますが詳しくは「オブジェクト指向」の章で説明します。このように,Java言語では,変数が表現する値をデータ型で指定します。
変数を使う練習
それでは,変数を使う練習をしてみましょう。以下のようにコードを入力してください。
public class MyCalc
{ |
ここでは,int型の変数aとbを宣言して,同時に値を入力しています。プログラムでは,この2つの変数の合計値を表示したいと思います。ファイル名をMyCalc.javaにしてC:\MyJavaに保存します。コマンドラインから「javac MyCalc.java」と入力してエンターキーを押してコンパイルします。
C:\MyJava>javac MyCalc.java
コンパイルできたら,Javaで実行します。
C:\MyJava\java MyCalc
すると画面には,aとbを合計した結果の「7」ではなく,「a+b」と表示されます。
これは,a+bという変数の演算を「"」でくくっているのが原因です。このように「"」でくくった部分は文字列として判断されてしまうため,「a」も「b」も変数としては扱われません。「+」も同じように文字として扱われてしまいます。そこで以下のように変更します。
public class MyCalc
{ |
このように「"」をはずして,ファイルを上書き保存した後,コンパイルして実行します。すると今度は,変数aと変数bの合計である7が表示されます。
ここでは,「+」という和を求める算術演算子を使いましたが,他の算術演算子も試してみましょう(他の算術演算子については「演算子」で詳しく取り上げています)。