データの表示

ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin Expander等)を使って解凍して下さい。

CUI

変数は宣言してから

変数を使う時には、予め「此は変数ですよ」と言う宣言しなければなりません。
其の時変数の型を明確にします。

例: int age; //ageはint型の変数
char name; //nameはchar型の変数

代入

変数はデータを入れる「箱」なので、宣言しただけでは中身は空っぽです。
変数にデータを与える事を代入と言い、

age = 22;
name = '豚';

と書きます。

表示

MS-DOSの画面に情報を表示するには、

System.out.println("表示したい文字\n");

と書く事は第1章で学びました。
此の途中に変数の内容を表示したい時は、「"表示したい文字"」と変数名を「+」記号で繋いで書きます。

例: System.out.println("ハンドル・ネームは、"+name+"です");
System.out.println("年齢は、"+age+"です");
実行結果: ハンドル・ネームは、豚です
年齢は、22です

「+」記号は加算の記号なので、此処では文字列と文字列の足し算をしています。
文字列同士の足し算の場合は、後に其の侭くっ付きます。
例えば、

あ + い→あい

の様になります。
「age」はint型なので、文字列と数値の足し算と言う事になります。
文字列と数値では足し算が出来ない為、数値が文字列に変換され、結果的に文字列同士の足し算が行われます。

変数の初期化

変数を宣言する時、同時に最初のデータを与えられます。

例: int age = 22; //ageはint型の変数で初期値は22
char name = '豚'; //nameはchar型の変数で初期値は'豚'
ソース ダウンロード
PrintValueCui.java PrintValueCui.zip
PrintValueCui2.java

変数名の法則

  • 同じ名前の変数を2つ以上宣言不可
  • 変数名に空白と記号(「+」や「-」等)は使えない
  • 変数名は先頭に数字を使えない
  • 変数名には予約語(=キーワード)と同じ物は使えない
  • 変数名には「true」「false」は使えない
  • 変数名には長さの制限無し
  • 変数名には大文字、小文字も区別
  • 変数名にはUnicode文字を使う

Javaで使われる言葉

abstract assart boolean break byte case catch
char class continue default do double else
extends final finally float for goto if
implements import instanceof int interface long native
new package private protected public return short
static strictfp super switch synchronized this throw
throws transient try void volatile while

println()とprint()

MS-DOSの画面に表示するメソッドには、printlnprintの2種類が有ります。
printlnでは、文字列を表示した後、最後に改行が追加されますが、printでは、改行されません。
其の為printlnの「()」内の最後に「\n」を書くと、「\n」による改行とprintlnで付加される改行と両方で改行され、画面上の表示では1行空きます。


GUI

表示

グラフィックス画面に情報を表示するには、

public void paint(Graphics g){
        g.drawString("表示したい文字");
}

の様に書く事は第1章で学びました。
此の途中に、変数の内容を表示したい時は、MS-DOS画面の場合と同様に「"表示したい文字"」と変数名の間を「+」記号で繋いで書きます。

例: g.drawString("ハンドル・ネームは、"+name+"です", 20, 60); //ハンドル・ネームの表示
g.drawString("年齢は、"+age+"です", 20, 80); //年齢の表示
g.drawString("身長は、"+length+"です", 20, 100); //身長の表示

変数のスコープ

変数にはプログラム中の宣言した位置に依って、其の宣言の有効範囲が有ります。
此を変数のスコープと言います。
変数は、宣言したブロックの中でのみ有効で、其の外から参照したり代入したりしようとすると、コンパイルエラーとなります。

public class クラス名{
        変数宣言
        public コンストラクタ(){
           変数宣言
    }
    public メソッド名(){
           変数宣言

           {
             変数宣言
        }
  }
}

異なるブロックの中で宣言された変数は、其の名前が同じだとしても、別々の領域が確保され、互いに別の物として扱われます。

例: public void paint(Graphics g){
   int i;
    :
   i = 1;
}
public void main(String[] args){
   int i;
    :
   i = 0;
}

グローバル変数

クラスの内側でさえ有れば、メソッドの外側に変数の宣言を書けます。
此の様な位置に宣言した変数はグローバル変数と呼ばれ、全てのメソッドから参照したり書き込んだりします。
グローバル変数とローカル変数にも同じ名前を付けられます。
其の場合は、同じ名前でも別々の物として扱われます。
メソッド内でローカル変数を指定する時は通常通りの変数名を記述しますが、グローバル変数を指定する時は変数名の前に「this.」を付け、グローバル変数の指定で有る事を明記します。

public class ClassA{
        int x;
        public void method(){
           int x;
          :
       x = 10;
           this.x = 20;
  }
}

グローバル変数はどのメソッドからも参照出来て便利ですが、其の反面、幾つものメソッドの異なるデータを格納する場所として使って終うと、他のメソッドで記憶して措いたデータを壊して終う危険性が有ります。
其の為グローバル変数は、其のクラスにとって普遍的に必要なデータに限定します。
此処では変数「name」「age」「length」にコンストラクタで代入し、「paint()」メソッドで参照します。
2つの異なるメソッドからもアクセス出来なければならないので、此等の変数はグローバル変数にしましょう。

ソース ダウンロード
PrintValueGui.java PrintValueGui.zip
PrintValueGui2.java

定数にも名前を付けよう

変数は、異なる値でも何度も代入出来ますが、1度初期化したら値を変更出来ない物を定数と言います。

final 型名 定数名 = 初期値;

の様に先頭に「final」を付けて宣言します。
定数名は、慣例的に全て大文字で書きます。

例: final double PAI = 3.14
変数 何時でも値を入れられる
定数 2度と別の値を入れられない

戻る