■ 変数とは
|
変数は、コンピュータ内でデータを格納する場所に名前がついたものです。
プログラムを実行する際には、しばしばデータを一時的に覚えて置く場所が必要になってきます。これを変数と呼びます。変数を使う必要があるプログラムでは、あらかじめ変数を使うことを宣言して置く必要があります。これを変数の宣言と呼びます。
変数を宣言する際には、格納されるデータの内容によって宣言をする名称が少し異なります。これをデータ型と呼びます。Javaの基本データ型には、次のような型があります。
型分類 | 基本型種類 | データ型 | サイズ | 値の範囲 | 初期化 |
基本データ型 | 数値型 | 整数 | byte | 8ビット | -128 〜 +127 | 値代入 |
short | 16ビット | -32768 〜 +32767 |
int | 32ビット | - 2147483648〜 +2147483647 |
long | 64ビット | -19桁 〜 +19桁 |
実数 | float | 32ビット | +-1.4239846 E-45〜+- 1.4239847 E+37 |
double | 64ビット | -小数以下17桁E-324 〜 E+308 |
文字型 | 文字 | char | 16ビット | 半角1文字 |
String | - | 複数の文字 |
論理型 | 論理値 | boolean | - | true またはfalse |
参照型 | 配列型 | 参照情報 | > - | > - | 基本型の連続 | new演算子 |
クラス型 | - | - | クラスおよびサブクラスから生成されたオブジェクト |
インタフェース型 | - | - | インタフェースを実装するクラスから生成されたオブジェクト |
上記のうちString(文字列)は、基本データ型とは多少異なります。正確には基本データ型から作られたデータ型と言えます。そのためにデータ型名の頭文字Sが大文字であることに注意して下さい。しかし、利用方法は、基本データ型と変わりありませんのでここに掲載しておきます。
識別子命名の慣例
|
■ 変数の宣言
|
変数宣言は、例えば次のようにデータ型と変数を記述します。
int tuki;
String aisatu;
データ型 変数名;
上記では、「int型のtukiという名前の変数を定義する」と「String型のaisatuという名前の変数を定義する」の2つが記述されています。始めの行のように記述することで、tukiという名前のついたint型の数値が格納できる場所がコンピュータの中に確保されます。2行目のように記述することで、aisatuという名前のついた文字列が格納できる場所がコンピュータ内に確保されます。
このような定義をプログラムのどこに書くかということですが、次のように、一般的にはメソッドの始めの方に記述します。
public class Aisatu2{
public static void main(String args[]) {
String aisatu;
int kion;
aisatu="こんにちわ!";
kion=24;
System.out.println(aisatu);
System.out.println("今日は、 " + kion + "度でとても良い秋晴れですね。");
}
}
|
■ 変数の初期化
|
変数定義された直後には、変数内にはどのような値が入っているか分かりません。
それで、通常は確かな値を代入しておく処理をします。これを初期化と言います。
初期化は、上記のプログラム例ですと、以下の2行の部分です。
aisatu="こんにちわ!";
kion=24;
これは、「『こんにちわ!』という文字列をaisatuという変数に代入する」という意味です。また下の行は、「24という値をkionに代入する」という意味です。
ここで=は、"等しい"という意味ではありません。=の右側の値を左側の変数に"代入する"という意味です。したがって、=のことを代入演算子と呼びます。
次のように、変数の宣言と同時に初期化をすることもできます。
public class Aisatu3{
public static void main(String args[]) {
String aisatu="こんにちわ!";
int kion=24;
System.out.println(aisatu);
System.out.println("今日は、 " + kion + "度でとても良い秋晴れですね。");
}
}
|
■ データ型の変換や操作
|
- 数値の変換
数値を格納できるデータ型は、いくつかの種類があります。
そのため利用されている途中で、データ型を変更したい場合があります。
その場合は、次のような方法で型変換をすることができます。
- 代入を使う
上記のkionは整数型ですが、それをプログラムの途中で実数型に変換し、24.5度などもう少し詳しい値にしたい場合は、次のように記述することができます。
public class Aisatu3{
public static void main(String args[]) {
String aisatu="こんにちわ!";
int kion=24;
float kion2;
System.out.println(aisatu);
System.out.println("今日は、 " + kion + "度でとても良い秋晴れですね。");
kion2=kion;
System.out.println("今日は、 " + kion2 + "度でとても良い秋晴れですね。");
}
}
このプログラムを実行すると、次のように表示されます。
[egi@taro]$ java Aisatu3
こんにちわ!
今日は、 24度でとても良い秋晴れですね。
今日は、 24.0度でとても良い秋晴れですね。
[egi@taro]$
- キャスト演算子を使う
これは、次のように変数の前に ()でデータ型を示し、変換する方法です。
public class Aisatu3{
public static void main(String args[]) {
String aisatu="こんにちわ!";
int kion=24;
System.out.println(aisatu);
System.out.println("今日は、 " + kion + "度でとても良い秋晴れですね。");
System.out.println("今日は、 " + (float)kion + "度でとても良い秋晴れですね。");
}
}
このプログラムを実行しても、上記と同じように表示されます。
- 文字列の連結
文字列と文字列をつなぎあわせて、新しい文字列を作成することができます。
aisatu1="こんにちわ!";
aisatu2="お元気ですか?";
aisatu3="すっかり秋になりましたね。";
:
aisatu4=aisatu1+aisatu2;
aisatu5=aisatu1+aisatu3+"寒いくらいです。";
上記の、aisatu4には、「こんにちわ!お元気ですか?」が格納され、aisatu5には、「こんにちわ!すっかり秋になりましたね。寒いくらいです。」と格納されます。
このように、文字列が含まれた+演算は、加算ではなく文字列と文字列の連結操作となります。
- 数値を文字列に
文字列の連結操作を利用して、数値型に格納されている値を文字型に変換することができます。
int suchi=1234;
String moji;
:
moji=""+suchi;
ここで、""は値のない文字を意味し、上記のmojiには、「1234」という文字が格納されることになります。
|
|