JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 変数とは

変数

日本語 変数
英語 variable
ふりがな へんすう
フリガナ 変数

解説

値を入れる「箱」。
整数値や実数値を入れて、計算に使用したり、計算結果を入れて取っておくことができる。
また、インスタンスへの参照を格納し、メソッド呼び出し等をうことができる。
 
変数を作成することを「変数を宣言する」という。
変数宣言は「 変数名;」と書く。
たとえば「int i;」という形式で変数宣言うことができ、この「i」が変数となる。
 
変数は、「変数に入れられる値の種類」が決まっており、その種類を「」と言う。
上記の例では「int」が「変数i」のである。これにより、変数iにはintが定める「-2147483648~2147483647の範囲内の整数値」のみ格納できる。
変数に値を入れる時には、=演算子を使用して「初期化」もしくは「代入」をう。
たとえば「i = 100;」とすれば、変数iに整数値100が入る。これが「代入」である。

また「int i = 100;」とすれば、変数iが作られると同時に整数値100が入る。これが「初期化」である。
 
変数内の値は、演算子に渡したりメソッド引数に渡せば自動的に取得できる。
たとえば「int i2 = i;」とすれば、変数iの中に入ってる値を取得し、変数i2に入れることになる。
この時、変数iの中の値はなくならない。変数に入っている値のコピーが作られてそれが使用されると考えるといいだろう。

は以下の2種類存在する。
 
プリミティブ型
参照
 
プリミティブ型intdoublebooleanのことで、これらの宣言された変数は整数値、実数値(浮動小数点)、論理値を格納できる。
参照は、クラス配列の「インスタンス」を参照するためのである。インスタンス参照を通してのみ使用することができ、通常は参照変数を宣言して参照を入れてから使用する。
詳しくは「」「プリミティブ型」「参照」「クラス」「インタフェース」「配列」を参照
 
変数は以下の2種類存在する。
 
ローカル変数
フィールド

ローカル変数メソッドブロックの中で宣言された変数で、そのメソッドブロックから出るとなくなる。
フィールドクラス内で宣言された変数で、インスタンス内に存在する。そのためインスタンスがなくならない限りインスタンス内のフィールドもなくならない。
詳しくは「ローカル変数」「フィールド」を参照のこと。
 
ローカル変数フィールドはそれぞれ「寿命」や「スコープ」が異なる。またフィールドアクセス修飾子によって「スコープ」が変化する。
また、「ローカル変数」「フィールド」以外にも、「引数」及び「catch」でも変数を宣言することが可能。これらはローカル変数とほとんど同じ性質を持つ。
 
このように、変数は「どのようなシチュエーションで宣言されるか」によって性質が異なる。
変数を使用する際には「その変数がどのによってどこで宣言されたのか」を意識すると使いやすくなるだろう。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // int型変数を「宣言」します。
        int i;
        // この「変数i」が、値を入れる「箱」になります。

        // この変数に整数値100を入れます。
        i = 100;

        // それを取り出し、出力します。
        System.out.println( i );
        // 100

        // このように、変数は値を入れる「箱」です。
        // また、この変数はint型を使って宣言しているので、
        // -2147483648~2147483647の範囲内の整数値を格納
        // することができます。

        // また、変数iの中の値を取り出しても、なくなることは
        // ありません。
        // たとえば、以下の例では変数iの中の値は100のままです。
        int i2 = i;
        System.out.println( i );
        System.out.println( i2 );
        // 100
        // 100

        // 変数を作る「型」にはプリミティブ型と参照型が
        // あります。
        // プリミティブ型は上記のint型が該当します。
        // 参照型はクラスや配列のインスタンスを参照するための
        // 変数です。
        // たとえば以下の例はStringBufferクラスの参照型変数を
        // 宣言する例です。
        StringBuffer strbuf;

        // ただし、strbuf変数はまだ参照を入れていないため、
        // このままでは使えません。使用するためにはインスタンスを
        // 作成して、その参照を入れる必要があります。
        // 以下の例は、StringBufferクラスのインスタンスを作り
        // その参照をstrbuf変数に代入する例です。
        strbuf = new StringBuffer();

        // これで、strbuf変数を通してStringBufferクラスの
        // インスタンスを操作することができます。
        strbuf.append( "あいうえお" );
        strbuf.append( "かきくけこ" );
        System.out.println( strbuf );
        // あいうえおかきくけこ

        // 変数には「ローカル変数」「フィールド」の2種類あります。
        // ローカル変数はメソッド内の変数のことで、ここまで出てきた
        // 変数i、変数i2、変数strbufがローカル変数です。
        // フィールドはクラスで宣言された変数のことで、インスタンス内に
        // 存在します。
        // たとえば、以下の例はHasFieldクラスのpublicFieldフィールドを
        // 使用する例です。
        HasField hasField = new HasField();
        hasField.publicField = 200;
        System.out.println( hasField.publicField );
        // 200
    }
}

/**
 * フィールドを持つクラス。
 */
class HasField
{
    /**
     * ↓これがフィールドです。
     */
    public int publicField;
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // int型変数を「宣言」します。
        int i;
        // この「変数i」が、値を入れる「箱」になります。

        // この変数に整数値100を入れます。
        i = 100;

        // それを取り出し、出力します。
        System.out.println( i );
        // 100

        // このように、変数は値を入れる「箱」です。
        // また、この変数はint型を使って宣言しているので、
        // -2147483648~2147483647の範囲内の整数値を格納
        // することができます。

        // また、変数iの中の値を取り出しても、なくなることは
        // ありません。
        // たとえば、以下の例では変数iの中の値は100のままです。
        int i2 = i;
        System.out.println( i );
        System.out.println( i2 );
        // 100
        // 100

        // 変数を作る「型」にはプリミティブ型と参照型が
        // あります。
        // プリミティブ型は上記のint型が該当します。
        // 参照型はクラスや配列のインスタンスを参照するための
        // 変数です。
        // たとえば以下の例はStringBufferクラスの参照型変数を
        // 宣言する例です。
        StringBuffer strbuf;

        // ただし、strbuf変数はまだ参照を入れていないため、
        // このままでは使えません。使用するためにはインスタンスを
        // 作成して、その参照を入れる必要があります。
        // 以下の例は、StringBufferクラスのインスタンスを作り
        // その参照をstrbuf変数に代入する例です。
        strbuf = new StringBuffer();

        // これで、strbuf変数を通してStringBufferクラスの
        // インスタンスを操作することができます。
        strbuf.append( "あいうえお" );
        strbuf.append( "かきくけこ" );
        System.out.println( strbuf );
        // あいうえおかきくけこ

        // 変数には「ローカル変数」「フィールド」の2種類あります。
        // ローカル変数はメソッド内の変数のことで、ここまで出てきた
        // 変数i、変数i2、変数strbufがローカル変数です。
        // フィールドはクラスで宣言された変数のことで、インスタンス内に
        // 存在します。
        // たとえば、以下の例はHasFieldクラスのpublicFieldフィールドを
        // 使用する例です。
        HasField hasField = new HasField();
        hasField.publicField = 200;
        System.out.println( hasField.publicField );
        // 200
    }
}

/**
 * フィールドを持つクラス。
 */
class HasField
{
    /**
     * ↓これがフィールドです。
     */
    public int publicField;
}

この単語を含むページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2010/05/03
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。