型と変数について学ぶ前に

目次
  • 解説
  • 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型を「+」で繋いだ場合には文字列の結合が行われます。

このように、データを変数に入れることで扱いやすくしたり、型によってデータの扱い方を適切に切り替えられるようにする、これが変数の仕組みなのです。