トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Javaの文法:変数

変数

  • プログラミング言語において変数とは処理に必要な値を保持しておく器のようなものであり、保存した値はプログラムの各所で参照したり、変更することができる。

 変数の型

  • どのようなタイプの変数かを示すのが変数の型である。
  • Java言語では変数は大きく基本型とオブジェクト型に分けられる。
    • Java言語が純粋なオブジェクト志向言語であれば、すべての変数はオブジェクト型となるはずであるが、効率的な処理のために基本データ型が用意されている。ただし、基本データ型をオブジェクトとして扱うためのオブジェクト型も用意されている。

基本データ型(プリミティブ型)

  • 数値や文字を保持する基本的な変数の型。大きさが決まっており、後述のオブジェクト型のようにメソッドは持たない。
  • 算術演算は基本データ型に対して行い、一部の例外を除き、オブジェクト型に対しては行うことはできない。
  • Java言語で用意されている基本データ型は以下の表のとおりである。
    • この表で初期値とは(インスタンス変数や静的[static]メンバ変数)変数を宣言した時点で入っている値のことを意味する。
名称 ビット長 範囲 説明 初期値
boolean 1 true/false 真偽を表現する false
byte 8 -128〜127 Unicode以外の文字列(Shift_JISなど)を表現する 0
char 16(符号なし) 1文字(0〜65535) Unicode文字を表現する 0
short 16 -32768〜32767 符号付き16bit整数 0
int 32 -2147483648〜2147483647 符号付き整数 0
long 64 -922337206854775808〜9223372036854775807 64bit整数、浮動小数点 0L
float 32 ±3.40282347E+38〜±1.40239846E+308 符号付き32bit実数、浮動小数点 0.0F
double 64 ±1.79769313486231570E+38〜±4.94065645841246544E-324 64bit実数、浮動小数点 0.0

  • int型
    • Java言語における一番基本となる変数の型
    • Java言語のプログラム中で数式が評価される場合、明示的に他の型と示されていないければ、int型で行われる
  • long型
    • long型と明示する場合には数字の最後に"L"をつける。
    • 例)
1234567890123456789L;
  • char型
    • 一つの文字を格納する変数の型。Java言語では内部的な文字コードはユニコード(UTF-8)であるため、全角半角問わず、1文字は1文字となる。
    • 例) 'a'も一文字、'あ'も一文字
    • Java言語で文字は'(シングルコーテーション)で囲む。文字列は"(ダブルコーテーション)で囲む。文字と文字列は異なることに注意する。
    • 例)
'a' //文字
"abc" //文字列

オブジェクト型

  • オブジェクト型はデータとメソッドが一つにまとめられたものであり、クラスファイルに基づいて作成される。
  • 基本データ型に対応してBoolean型、Integer型、Long型などのオブジェクト型が用意されている。
  • 文字列はString型となる。
    • オブジェクト型変数に対しては原則的に算術演算子は使うことができない。ただし、文字列の連結には加算記号"+"を使うことができる

例)

String abc = "ABC",def="DEF"; abc=abc+def;	//abcには"ABCDEF"が代入される

 変数の宣言

  • Java言語ではプログラム中で変数を用いるためにはまず変数の宣言を行う必要がある。
    • 他の言語では変数を宣言しなくてもいきなり用いることができるものもある。
  • Java言語での変数の宣言は以下のような形で行う。
    • 修飾子は省略可能であるため、ここではまだ説明はしない。
<修飾子> <変数の型> <変数名>;
  • 例)int型でxという変数を宣言する場合、
int x;

変数の記述法

  • 変数名は原則的に小文字で記述し、複雑な語の組み合わせから構成する場合には各部分の頭文字を大文字にする
  • 例)sample variable → sampleVariable

 サンプルプログラム

  • 様々な型のデータを表示し、型によってどのように挙動が変わるか。

Type.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package sample.primitive;

public class Type {
    public static void main(String[] args) {
        System.out.print("\"あ\"→\t");
        System.out.println("あ");

        System.out.print("\"あ\"+1→\t");
        System.out.println("あ"+1);

        System.out.print("'あ'→\t");
        System.out.println('あ');
        
        System.out.print("'あ'+1→\t");
        System.out.println('あ'+1);

        System.out.print("'あ'+0→\t");
        System.out.println('あ'+0);

        System.out.print("1→\t");
        System.out.println("1");
        
        System.out.print("1.002→\t");
        System.out.println(1.002);
        
        System.out.print("1F→\t");
        System.out.println(1F);
        
        System.out.print("3/2→\t");
        System.out.println(3/2);
        
        System.out.print("3F/2→\t");
        System.out.println(3F/2);
        
        System.out.print("12345678910111213L→\t");
        System.out.println(12345678910111213L);
        
//        上の行を以下のように変更すると?
//        System.out.println(12345678910111213);
        
    }

}

 変数への値の代入

  • 多くのプログラミング言語では、代入の方向が一般的な数式とは逆になる。
  • 右辺の式の演算結果が左辺の変数に代入される
<変数名>=<値あるいは式>;
    • 例1)x=1; //xに1を代入する
    • 例2)y=x+10; //yにxに10を足したものを代入する

 変数の宣言時に代入する

  • 変数の宣言を行う時点で、初期値を代入することもできる。
    • 例)
int x=1; //x=1としてint型の変数xを宣言する
String mk5="まじで恋する5秒前"; //String型の変数を宣言し、初期化している

 サンプルプログラム

  • 変数に値を代入しながら宣言し、各変数の値を表示する。

Variable.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package sample.primitive;

public class Variable {
    public static void main(String[] args) {
        int i = 123;
        long l = 123456789123456789L;
        float f = 12.3F;
        double d = 123.456789;
        char c = 'あ';
        System.out.println("int型の変数iの値は"+i);
        System.out.println("long型の変数lの値は"+l);
        System.out.println("float型の変数fの値は"+f);
        System.out.println("double型の変数dの値は"+d);
        System.out.println("char型の変数cの値は"+c);
    }
}

 変数と定数

  • プログラム中で変わらない値を保持しておく変数(=定数)を宣言することもできる。
  • 定数はよく参照されるが計算しできない値や長い文字列などを保持したり、プログラムの途中で値を変更されたら困るものを保持しておくために使われる。
  • 定数の宣言は以下のような形で行われる。
final <定数の型> <定数名> = <定数の値>;

定数の記述法

  • 定数は一般的に、変数とは異なり、その名前すべてに大文字を用い、変数と区別して使う。
  • 例)
final String MM5="まじでむかつく5秒前";

 課題

  1. Variable.javaで書かれていないbyte型、short型についても他の型と同様に宣言をしてその値を表示する
  2. Variable.javaにおいて、変数の宣言時ではなく、途中で一部の変数の値を変更する処理を追加する
  3. Variable.javaにおいて、一部の変数の宣言時にfinalキーワードを加え、途中で一部の変数の値を変更する処理を追加し、実行できるかを確認する。
Type.java Variable.java

最終更新時間:2013年04月25日 09時30分08秒