型と変数について学ぶ前に
- 解説
- 1. 学習の準備
- 2. 型・変数とは
- 3. 型・変数の使い方(例1)
- 4. 型・変数の使い方(例2)
- 5. 型・変数の使い方(まとめ)
解説
1. 学習の準備
まずは学習用に新たなクラスを作りましょう。
(1) | 「Java基礎 > 基礎知識 > 動かしてみよう > Javaファイルの作成 > (3) 」を参考に 「workspace_java_basic」プロジェクトの「net.digskill」 パッケージに「TypesAndVariables.java」を作成してください。 |
(2) | 「Java基礎 > 基礎知識 > 動かしてみよう > プログラムの作成 > (1) 」を参考に 作成した「TypesAndVariables」クラスにmainメソッドを作成してください。 |
(3) | 「Java基礎 > 基礎知識 > Javaファイル内の構造 > インポート > packageとimport > (3) 」を参考に「net.digskill.Logger」クラスの「out」メソッドを使用して 「こんにちは!」を出力するプログラムを作成してください。 |
(4) | 「F5」キーで実行して、下図のように出力できることを確認してください。 |
ここまでの状態
新たなプログラムを書いて動かすたびに、毎回クラスとmainメソッドを作るのは非効率なため、メソッドを切り替えて実行するプログラムを変える方法を覚えましょう。次のサンプルコードのように書き換えて「F5」キーで実行してみましょう。
package net.digskill;
import net.digskill.utility.Logger;
public class TypesAndVariables {
public static void main(String[] args) {
// practice01();
practice02();
}
static void practice01() {
Logger.out("こんにちは!");
}
static void practice02() {
Logger.out("こんばんは!");
}
}
クラスの中にメソッド「practice01」と「practice02」を新たに作成、それぞれ実行したいコードを書き込み、それをmainメソッドから呼び出すように変更しました。
これで、7行目をコメントアウトすれば、「こんにちは!」を出力するコードを消さずに「こんばんは!」を出力するコードのみを実行する、ということができるようになりました。
この「practice01」という名前は、練習(practice)という単語と連番の「01」をメソッドの命名規則※に従って結合しただけです。自分で練習する際には「renshuu20201231_01」など、自由に名前を付けて構いません。
※先頭は小文字、続く単語の先頭は大文字、先頭はアルファベットのみ
なお、メソッド名の前の「static void」や、メソッド名に続く丸括弧の役割については、今後詳細を学習しますので、決まり事として覚えてしまいましょう。
2. 型・変数とは
プログラムの中では、計算に使う数値や画面に表示する文字・画像など、様々なデータを扱います。しかし、コンピューターから見れば、それは膨大な量の「0と1の塊」でしかありません。
そのため、まるで砂で作ったお城やヒトデのように、同じ形の器に入れない限り、移動したり受け渡したりすることができないのです。
このデータを入れておくための器が変数であり、その器の形が型なのです。
Javaのプログラムコードを書けるようになるためには、まずこの2つをしっかり理解する必要があります。これから詳しく学習していきますが、どちらを先に学ぶとしても必要となる、双方の最低限の知識をここで少し身に付けておきましょう。
3. 型・変数の使い方(例1)
実際に型と変数がプログラム中でどのように使われるのかを見てみましょう。
「1. 学習の準備」で作成した「practice02」メソッドを次のサンプルコードのように書き換えてください。実行結果は変わりません。
static void practice02() {
String message = "こんばんは!";
Logger.out(message);
}
この2行目は、
「String」という形のデータを入れられる
「message」という名前を付けた器に
「"こんばんは!"」というデータを入れた
と「読む」ことができます。
これは、
「String」型の
「message」という名前を付けた変数に
「"こんばんは!"」を代入した
と言い換えることができます。
3行目では、変数「message」に入れた内容を「Logger.out()」に受け渡しているため、変更前と同じように、「こんばんは!」と出力できたのです。
4. 型・変数の使い方(例2)
もうひとつ例を見てみましょう。新たなメソッド「practice03」を作成し、次のサンプルコードのように書き換えてください。mainメソッドへの呼出行追加と「practice02」の呼出行コメントアウトを忘れずに、実行してみてください。
static void practice03() {
int calculationResult = 2;
Logger.out(calculationResult);
}
無事、「2」と出力されたでしょうか。
2行目を「読む」と、
「int」型の
「calculationResult」という名前を付けた変数に
「2」を代入した
ということになります。
ここで注目して欲しいことは、型が「String」から「int」に変わっていることと、代入した「2」がダブルクォーテーション(")で括られていないということです。
Stringという型は、データが「文字が複数連なった文字列」という形式であることを示しており、intという型は、データが「整数の値」であることを示しています。
また、String型のデータはプログラム上でダブルクォーテーションで括る、int型のデータは括らない、などの決まりがあることで、コンピューターも人間も、命令とデータを正しく区別することができるようになります。
5. 型・変数の使い方(まとめ)
これだけでは、「Logger.out()」メソッドに直接渡していたデータを、一旦変数に代入しただけですので、最後にメリットとなる使い方を見てみましょう。practice03を次のサンプルコードのように変更して実行してください。
static void practice03() {
int calculationResult = 2;
Logger.out(calculationResult);
calculationResult = calculationResult + 3; // この行を追加
Logger.out(calculationResult); // この行を追加
}
4行目では変数「calculationResult」の中身である「2」と「3」を足し算して、再度同じ名前の変数に代入しています。これによって、「calculationResult」の中身は「5」で上書きされますので、3行目では「2」が出力され、5行目では「5」が出力されたのです。
practice02も次のように書き換えて実行してみましょう。mainメソッドでのコメントアウトの切り替えも忘れずに!
static void practice02() {
String message = "こんばんは!";
message = message + "Dig Skill さん!"; // 自分の名前にしましょう!
Logger.out(message);
}
こちらも変数の中身と別のデータを「+」で足し算して、元の変数に再度代入しているように見えますが、出力結果では「こんばんは!」と「Dig Skill さん!」が結合されていましたね。
int型を「+」で繋いだ場合には整数の加算が、String型を「+」で繋いだ場合には文字列の結合が行われます。
このように、データを変数に入れることで扱いやすくしたり、型によってデータの扱い方を適切に切り替えられるようにする、これが型と変数の仕組みなのです。