新卒エンジニアの奮闘日記

何もスキルのない新卒社員がエンジニアとして活躍するまでの奮闘日記です.

【Java】 変数の型2

前,適当に勉強してしまった変数の型のところ
まとめなおしました.

package work;

public class Variable {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
			// プリミティブ型 - 数値, 文字, 真偽値
				// 整数型
					System.out.println("整数型");
					// 基本的には, 整数を代入したいときは int を使用する
					byte var1 = 127;            // 8bit 2^8 = 256, -128 ~ 127  メガネの数
					short var2 = 128;          // 16bit  -32,768 ~ 32,767 年齢
					int var3 = var2*var2;     // 32bit -2,147,483,648 ~ 2,147,483,647 給料
					long var4 = var3*var3; // 64bit 世界の人口
					System.out.println("byte  = "  +  var1);
					System.out.println("short  = "  +  var2);
					System.out.println("int  = "  +  var3);
					System.out.println("long  = "  +  var4);
				// 浮動小数点型
					System.out.println("浮動小数点型");
					// 特別な事情がない限り double を使用する
					float var5 = 3.14F;        // 32bit 末尾にF をつけないとdouble で扱われる 体重
					double var6 = 3.14;     // 64bit 円周率
					System.out.println("float  = "  +  var5);
					System.out.println("double  = "  +  var6);
				// 文字型
					System.out.println("文字型");  // イニシャル
					char var7 = '金'; // 全角・半角 1文字, シングルクオテーションを使用
					System.out.println("char = " + var7);
				// 真偽値
					System.out.println("真偽値");
					boolean isError = true; // true or false
					System.out.println("boolean = " + isError);

			// 参照型 - オブジェクト型,配列型,列挙型
			// プリミティブ型ではその変数の値をメモリに確保するが,参照型では
			// 直接,値を変数に入れず,その値のメモリ上のアドレスを参照する
				// オブジェクト型, Ex. String
				// String はプリミティブ型と間違えやすいが,
				// 内部に char 配列型で文字列データを持ち,さまざまなメソッドを提供するクラス
					System.out.println("オブジェクト型");
					String var8 = "これはString です";
					System.out.println("String = " + var8);
				// 配列型,    要素の型[] 配列変数名
					System.out.println("配列型");
					int[] scores = {20, 30, 40, 50}; // 0はじまり
					String[] subject = {"国語", "算数", "社会", "英語"}; // 0はじまり
					System.out.println("scores.length = " + scores.length); // 4
					for (int i = 0; i < scores.length; i++) {
						System.out.println(subject[i]+  "= " + scores[i]);
					}
				// 列挙型,    要素の型[] 配列変数名
				// もともと設定した定数のみを扱えるのが特徴
					System.out.println("列挙型");
					Fruit flt = Fruit.ORANGE;
					System.out.println(flt.toString()); // 文字列に変換
			        System.out.println(flt.toString().getClass().getSimpleName());
	}

	public enum Fruit {     //"class" ⇒ "enum" に書き換える

		//列挙子の定義
	    APPLE,
	    ORANGE,
	    PEACH;
	}

}

出力

f:id:flying_penguin_muchi:20210606213459p:plain