0
1

More than 3 years have passed since last update.

あたまのなかの整理メモ(Java - データ型編)

Last updated at Posted at 2020-03-07

My Java環境

  • java11

Javaのデータ型

  • プリミティブ型
  • 参照型

プリミティブ型(値そのものを使う、nullは代入できない。)

  • boolean(初期値はfalse)
  • char
  • byte
  • short
  • int
  • long(lをつける。long value = 10l;)
  • float(fをつける。float value = 10f;)
  • double

参照型(インスタンスへの参照を扱う)

  • オブジェクト型
  • 配列型
  • 列挙型

 n進数

  • 2進数(0bはじまり。int value = 0x0101)
  • 8進数(0はじまり。int value = 077;)
  • 10進数(特記なし。int value = 10;)
  • 16進数(0xはじまり。int value = 0x1B;)

アンダースコアを使用した数値表記

  • 先頭と末尾での使用NG(int value = _123;int value = 123_;はNG)
  • 記号の前後での使用はNG(int value = 12_.3;float value = 123_fint value = 0x_0100;はNG)

int value = 123_456;
System.out.println(value);

表示結果は

123456

識別子の命名規則

  • 予約語の使用はNG
  • 記号はアンダースコア(_)と通貨記号はOK、ハイフン(-)の使用はNG
  • 数字から始まるのはNG(int v123;はOK)

型推論(var)

型推論はコンパイル時に行われる。

OK

  • 以下のようなローカル変数
var value = 123;
var value = method();
var value = new ArrayList<>();

NG

  • メンバ変数
  • メソッドの引数宣言(public method(var value){...}はNG)
  • 以下のようなローカル変数

var value;
var value = null;
var value = {1, 2, 3};
var value = ラムダ式
  • 2つのクラスに互換性がない場合

var classA = new ClassA();
classA = new ClassB();

mutable(可変)とimmutable(不可変)

mutable

  • StringBuilderクラス 
  • など

immutable

  • Stringクラス
  • LocalDateクラス
  • など

型の範囲

byte < short < int < long < float < double

ばいしょいろふだ

型変換

大きいから小さいは明示的にキャスト。


int value1 = 123;
short value2 = (int)value1;

同一性と同値性

  • 同一性(同じインスタンスを参照) ・・・ ==で判定
  • 同値性(同じ値) ・・・ equalsで判定
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1