0
0

More than 3 years have passed since last update.

Javaのデータ型(特にプリミティブ型)とリテラルについて

Posted at

Oracle Java Programmer,Silver SE11認定資格取得に向けて学習を開始しました。
その中で出てきたデータ型に関するまとめを行いたいと思います。
間違っている等、指摘事項あればご教示いただけると幸いです。

プリミティブ型

分類
boolean 論理型 True/False
char 文字型 16ビットUnicode,¥u0000~¥uFFFF
byte 整数型 8ビット整数,-128~127
short 整数型 16ビット整数,-32768~32767
int 整数型 32ビット整数,-2147483648~2147483647
long 整数型 64ビット整数,-9223372036854775808~9223372036854775807
float 浮動小数点型 32ビット単精度浮動小数点型
float 浮動小数点型 64ビット倍精度浮動小数点型

参照型

参照型にはクラス型、インターフェース型、配列型と言ったものがあります。

プリミティブ型のリテラル

リテラルとは、ソースコードに記述する値の事です。
Javaのリテラルは、デフォルトでは整数はint型、浮動小数点数値はdouble型、真偽値であればboolean型、文字であればchar型です。

データ型を明示したいとき(整数、浮動小数点数値)

データ型を明示したい時は値の最後につける接尾辞や値の先頭につける接頭辞を使います。

  • long型・・・値の後ろにLまたはlをつける。
  • float型・・・値の後ろにFまたはfをつける。

型というよりは表記の方法ですが…

  • 2進数で記述する・・・値の先頭に0bをつける。
  • 8進数で記述する・・・値の先頭に0をつける。
  • 16進数で記述する・・・値の先頭に0xをつける。

byte型やshort型にはありません。

アンダースコア(_)を使った数値表記

Java SE7から導入されたようです。あくまで見やすさ向上のためです。
ただし、

-リテラルの先頭と末尾には記述できない
-記号の前後には記述できない

リテラルの先頭と末尾には記述できない
記号の前後には記述できない

具体例

Main.java

    double a = 123_4567.89;
    System.out.println(a);

とやると、1234567.89と表示されます。3桁区切りでなくても全然オッケーらしいです。

Main.java

    double a = 123_4567_.89;
    System.out.println(a);

とやるとエラーになります。

文字リテラル

char型は文字1文字を表すデータ型で、'a'のようにシングルクォーテーションで囲わないといけません。
ちなみに文字列は"neko"のようにダブルクォーテーションで囲わないといけません。

Unicodeによる表記では\uの接頭辞の後に16進数4桁で表記します。

Main.java
    char a = '\u1111';
    System.out.println(a);

と出力されました。読めないw

あれ?そういえばString型は?

java.langパッケージに所属するjava.lang.Stringクラスを使用している形です。
特例としてnew演算子を利用しなくても" "で囲めばStringインスタンスを利用できます。

参考文献

スッキリわかるJava入門
徹底攻略Java SE11 Silver問題集

0
0
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
0