Java - 変数の種類

こんにちは、未来のJavaの魔法使いたち!?‍♂️ 今日は、Javaの変数の世界に魅力的な旅に出ることにします。まだ一度もコードを書いたことがないという方でも心配しないでください。私たちは最初から一歩一歩知識を積み重ねていきます。それでは、仮想の杖(キーボード)を手に取り、一緒に飛び込んでいきましょう!

Java - Variable Types

Javaの変数とは?

ビデオゲームをしているとき、得点を追跡する必要があると想象してみてください。ゲームの世界には、常に現在の得点を表示してくれる魔法のスコアボードがあります。Javaでは、この魔法のスコアボードを「変数」と呼びます。それは、時間とともに変わる情報を保持するコンテナです。

変数はJavaプログラミングの基本的な構成単位です。それらにより、私たちはプログラム中でデータを保存し操作することができます。それらを、異なる種類の情報を入れることができるラベル付きの箱と考えてください。

変数の宣言と初期化

変数を使用する前に、Javaに2つのことを伝える必要があります:

  1. 保存したい情報の種類(例えば、数字やテキスト)
  2. 変数に与える名前

このプロセスは「宣言」と呼ばれます。例を見てみましょう:

int score;

この行では、Javaに「こんにちは、整数を保持する箱を作りたいんだ。それを'score'と呼びたい」と伝えています。

しかし、まだ箱は空です。中に何かを入れてみましょう:

score = 0;

これは「初期化」と呼ばれます。0の値を'score'箱に入れています。

宣言と初期化を一行で行うこともできます:

int score = 0;

では、この変数を完全なプログラムで使用してみましょう:

public class GameScore {
public static void main(String[] args) {
int score = 0;
System.out.println("Your initial score is: " + score);

score = score + 100;
System.out.println("You gained 100 points! Your new score is: " + score);
}
}

このプログラムを実行すると、以下のように表示されます:

Your initial score is: 0
You gained 100 points! Your new score is: 100

素晴らしいでしょうか?変数を作り、初期値を与え、そして変更したのです。これが変数の力です - 変わることができるのです!

Javaの変数の種類

次に、Javaが提供する異なる種類の変数について探っていきましょう。これは、異なる種類のものに合わせて異なる種類の容器を持っているようなものです。

1. プリミティブデータ型

これらはJavaの最もシンプルな型で、特定の型の単一の値を保持します。

説明 サイズ
byte 小さな整数 1バイト byte b = 100;
short 短い整数 2バイト short s = 30000;
int 標準的な整数 4バイト int i = 2000000000;
long 大きな整数 8バイト long l = 9000000000000000000L;
float 小数(非常に正確ではない) 4バイト float f = 3.14f;
double 小数(より正確) 8バイト double d = 3.14159265359;
boolean 真か偽か 1ビット boolean isJavaFun = true;
char 単一の文字 2バイト char c = 'A';

これらを動かしてみましょう:

public class PrimitiveTypes {
public static void main(String[] args) {
byte myByte = 127;
short myShort = 32000;
int myInt = 2000000000;
long myLong = 9000000000000000000L;
float myFloat = 3.14f;
double myDouble = 3.14159265359;
boolean isJavaAwesome = true;
char myChar = 'J';

System.out.println("byte: " + myByte);
System.out.println("short: " + myShort);
System.out.println("int: " + myInt);
System.out.println("long: " + myLong);
System.out.println("float: " + myFloat);
System.out.println("double: " + myDouble);
System.out.println("boolean: " + isJavaAwesome);
System.out.println("char: " + myChar);
}
}

2. 参照データ型

これらはより複雑な型で、複数の値や全体のオブジェクトを保持することができます。最初に遭遇する一般的な参照型はStringです。

String greeting = "Hello, Java!";
System.out.println(greeting);

Stringは特別なのは、それらはオブジェクトとしては技術的にはありますが、ダブルクォートを使用して作成できるためです。

3. 配列

配列は、同じ型の変数のコレクションです。同じ種類のものを保持する箱のリストと考えてください。

int[] scores = {90, 85, 78, 92, 88};
System.out.println("The first score is: " + scores[0]);
System.out.println("The third score is: " + scores[2]);

配列のインデックスは0から始まり、1から始まらないことを忘れないでください!

変数のスコープ

変数の「スコープ」は、プログラムのどこでその変数を使用できるかを決定します。Javaには3つの主要なスコープがあります:

  1. ローカル変数:メソッドの内部で宣言され、そのメソッドの内部でのみアクセス可能です。
  2. インスタンス変数:クラスの内部で宣言されていますが、メソッドの外にあります。クラスのすべてのメソッドからアクセス可能です。
  3. スタティック変数:インスタンス変数と似ていますが、クラスのすべてのインスタンス間で共有されます。

例を見てみましょう:

public class ScopeExample {
static int staticVar = 1; // スタティック変数
int instanceVar = 2; // インスタンス変数

public void exampleMethod() {
int localVar = 3; // ローカル変数
System.out.println("Local Variable: " + localVar);
System.out.println("Instance Variable: " + instanceVar);
System.out.println("Static Variable: " + staticVar);
}

public static void main(String[] args) {
ScopeExample example = new ScopeExample();
example.exampleMethod();
}
}

次は何?

おめでとうございます!Javaの変数についての最初の一歩を踏み出しました。今や、変数を宣言し、初期化し、異なる種類の変数を使用する方法を知っています。この知識は、Javaで学ぶすべてのものの基盤となります。

次のレッスンでは、制御文を使用してコード内で判断を行う方法、ループを使用してアクションを繰り返す方法、そしてコードを再利用可能な塊に整理するためのメソッドとクラスについて探っていきます。冒険はまだ始まったばかりです!

コードを学ぶのは、新しい言語を学ぶのと同じです。練習と忍耐が必要ですが、書くたびに良くなります。だから、コードを書き続け、実験し続け、最も重要なのは楽しむことです!次のレッスンでお会いしましょう、Javaの見習いたち!??‍??‍?

Credits: Image by storyset