トップ 一覧 検索 ヘルプ RSS ログイン

基本型変数の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!! 第一章 Java プログラミングの基礎

!! 1-3. Javaプログラムの基礎

! 基本型変数

変数とは、コンピュータが値を格納しておくための入れ物のようなものです。Javaで扱う変数には「基本型」と「参照型」の二種類があります。

基本型変数のデータ型を表1にまとめました。全部で8つのデータ型がありますが、本書では簡単のために、整数を扱うint型と、小数も扱えるdouble型の二つのみを使用することにします。

, ,データ型,サイズ,値の範囲
,文字,char,2バイト,0 ~ 65535 (Unicode表現)
,整数,byte,1バイト,-128 ~ 127
, ,short,2バイト,-32768 ~ 32767
, ,int,4バイト,-2147483648 ~ 2147483647
, ,long,8バイト,-9223372036854775808 ~ 9223372036854775807
,浮動小数,float,4バイト,単精度浮動小数点
,,double,8バイト,倍精度浮動小数点
,論理,boolean,(1バイト),true (真) または false (偽)
'''表 1''' 基本型変数のデータ型一覧

■ '''宣言'''

基本型変数を扱うには、プログラムソース中でまず宣言を行う必要があります。宣言文は以下のとおりです。

 (修飾子) データ型  変数名( = 初期値);

修飾子と初期値は省略することができます。修飾子については28ページで解説します。

■ '''初期化と代入'''

実際に変数を使って計算などを行うには、変数を「初期化」してやる必要があります。初期化を行う前の変数にはどんな値が入っているかわかりません。ですので、変数を初期化せずに使用しようとするとコンパイルエラーになります。ただしクラスのメンバー変数(28ページ参照)はコンストラクタが初期化してくれるのでコンパイルエラーにはなりません。

変数の初期化または値の代入は次のように行います。

 変数名 = 値;

数学では a = b と b = a は等価ですが、プログラミングでは違った意味を持つので注意が必要です。a = b というのは「bの値をa に代入する」という処理になります。

それでは、変数の宣言と初期化を理解するためにプログラム例を見てみましょう。

''Sample01.java''
 1.public class Sample01{
 2.    public static void main( String args[]){
 3.    	// 宣言
 4.        int i;
 5.        // 初期化
 6.        i = 2;
 7.        // 宣言と初期化を同時に行う
 8.        int j = 2;
 9.        // 代入
 10.        i = i + j;
 11.
 12.		// i の値を出力する
 13.        System.out.println("i = " + i);
 14.    }
 15.}
{{pre num
public class Sample01{
    public static void main( String args[]){
   	// 宣言
        int i;
        // 初期化
        i = 2;
        // 宣言と初期化を同時に行う
        int j = 2;
        // 代入
        i = i + j;

		// i の値を出力する
        System.out.println("i = " + i);
    }
}
}}

ここでは int 型を例に出しましたが、その他の型でも同様です。宣言したデータ型以外の値を代入しようとするとコンパイルエラーになります。

プログラムソースの10行目を見て「あれ?」と思うかもしれません。数学では i = i + j なんて式はナンセンスですね。しかし先ほども注意したように、プログラムでは違った意味を持ちます。右辺の i + j の値を左辺の変数 i に代入せよ、という命令になります。

上記のプログラムをコンパイル、実行すると次のような出力結果が得られます。

{{pre
 C:\jprogram>javac Sample01.java
 C:\jprogram>java Sample01
 i = 4
 
 C:\jprogram>

}}

難しくないですよね? :-)