イントロダクション
ある程度Javaというものがわかってきたところで、今度は、プログラムを作成していこうと思います。
今までの、内容はプログラムの書き方、ルールをちょっと覚えるというところでしたが、今度はプログラムを思いとおりに動かすための材料について学びます。
その1つが変数です。
変数とは
パソコン上で扱うデータは文字だったり、数値だったり、画像だったり。。。色々ありますが、パソコンは基本的に「0」と「1」でしか判断できません。
なので、プログラムを作るときにはデータの型というのが大切になります。つまり、この型は文字、この型は数値という形です。
具体的に、文字は計算できませんが、数値は計算できます。というように「型」でデータの加工の仕方が変わってきます。
<具体例>
文字列で足し算を書くと。。。
"1 + 1" => そのまま
数値では計算できる。
1 + 1 => 2
プログラムで書くと次のようになります。
public static void main(String[] args) {
System.out.println("1 + 1"); // => 「1 + 1」を表示する
System.out.println(1 + 1); // => 2を表示する
}
学習のポイント
- 文字列は「"(ダブルクォーテーション)で囲みます。
- 数値はそのまま「1」「2」「3」のように書きます。
実際にプログラムで実行してみると下のような感じです。
学習内容の説明
今回は変数の扱いについて記載いたいます。
今までに、メインメソッド、普通のメソッドと記載していきました。今度はこれらの中に処理を作っていこうと言う次第です。
とりあえずは、こんな感じです。
変数
変数とは、「箱」です。箱の中には全てのデータ〜クラスまでなんでも入ります。その変数には肩があり以下のようになっています。
変数の型
- プリミティブ型
- int型: 整数longに比べて小さい値
- double型: 小数点ありの変数で使用する
- char型: 1文字文のデータ
- long型: int型より大きい値
- float型: 小数点少し曖昧でも良い
- 参照型(下の表ではobject)
- Stringとかクラスの型
- 配列など「int[]」のような変数の型
正直のところ、「float」に関してはあまり理解していないのですが、画像処理(座標計算)で使用する(0-1.0の範囲)小数点の値なのですが、doubleでも良いような気がする。。。がしかしLWJGLとかOpenGLなどではfloatを使用していました。
詳細な表に関してはこちらを参照ください。
Data Type | Default Value (for fields) |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\u0000' |
String (or any object) | null |
boolean | false |
変数の使い方
百聞は一見にしかず。。。変数の名前は重複しないように適当につけています。
変数の宣言と初期化、これでプログラム中で変数が使用可能になります。
// 宣言 int num; // 初期化 int i = 0;
そして、変数の扱い方。例えば「1 + 1」を結果用の変数に入れて表示する処理です。サンプルコードはGithubにアップしてあります。
public static void main(String[] args) { // 変数宣言 int num1; // 変数に値0を再セット、以前の値は削除される num1 = 0; /* 変数の初期化 * 変数の宣言時に、値を代入する * 変数 = 値(代入) */ int num2 = 10; // 1.足し算 num1 = num1 + num2 + 2; // 2.引き算 num1 = num1 * (num1 - num2); // 3.掛け算 num1 = num1 * 3; // 4.割り算 num1 = num1 / 2; // 計算結果を表示 System.out.println("計算結果" + num1); }
ちなみに、足し算引き算は「+」「-」で算数でやったのと同じ記号を使うのですが、掛け算や割り算はそれぞれ「*」(掛け算)、「/」(割り算)を使用します。
<プログラムを実行してみる>
データ型の意味
正直のところ「int型は小さい値」とか記載していても「は?」となります。「じゃ、なんでそんな説明したんだ?」と聞かれそうですが。いかに説明します。
int型(整数値): -2147483648〜2147483648の範囲 char型 : 0〜65535の範囲 byte型 : -127〜127の範囲
などのように値の範囲が決まっています。具体的には下のようなコードを書いた時に、以下のような違いがあります。
ちなみにlong型の場合はint型との区別をするのに最後に「L」をつけます。
とりあえずは、「変数について」記載しました。実践に関しては次回以降と言うことで。。。
そして、計算をするプログラムを作成してみた動画を作りました。
でわでわ。。。