C#とJavaのデータ型について
C#とJavaの変数の型は「値型」「参照型」の2つに分類されます。
C#の値型には、char、int、floatなどの組み込みのプリミティブデータ型と、enumなどの構造体で宣言されるユーザー定義型があります。
C#の参照型には、クラス型、およびプリミティブ型から作成されるそのほかの複合データ型があります。
Javaの値型は、boolean、char、byte、short、int、long、float、doubleの8つです。
Javaの参照型には、クラス型、インタフェース型、配列型があります。
C#のプリミティブデータ型(値型)
変数型 | 種類 | 表現可能なデータ幅 | データ長 (バイト) |
bool | 論理 | true か false | - |
sbyte | 符号あり整数 | -128 ~ 127 | 1 |
byte | 符号なし整数 | 0 ~ 255 | 1 |
char | 文字型 | 16ビットのユニコード文字 | 2 |
short | 符号あり整数 | -32,768 ~ 32,767 | 2 |
ushort | 符号なし整数 | 0 ~ 65535 | 2 |
int | 符号あり整数 | -2,147,483,648 ~ 2,147,483,647 | 4 |
uint | 符号なし整数 | 0 ~ 4,294,967,295 | 4 |
long | 符号あり整数 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 8 |
ulong | 符号なし整数 | 0 ~ 18,446,744,073,709,551,615 | 8 |
decimal | 10進数 | -79,228,162,514,264,337,593,543,950,335 ~ 79,228,162,514,264,337,593,543,950,335 | 16 |
float | 小数 | ±3.40282347E+38 ~ ±1.40239846E-45 | 4 |
double | 小数 | ±1.79769313486231570E+380 ~ ±4.94065645841246544E-324 | 8 |
string | 可変文字列 | 可変文字列 | 可変 |
Javaのプリミティブデータ型(値型)
変数型 | 種類 | 表現可能なデータ幅 | データ長 (バイト) |
boolean | 論理 | true か false | - |
byte | 符号あり整数 | -128 ~ 127 | 1 |
short | 符号あり整数 | -32,768 ~ 32,767 | 2 |
int | 符号あり整数 | -2,147,483,648 ~ 2,147,483,647 | 4 |
long | 符号あり整数 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 8 |
char | 文字型 | 16ビットのユニコード文字 | 2 |
float | 小数 | ±3.40282347E+38 ~ ±1.40239846E-45 | 4 |
double | 小数 | ±1.79769313486231570E+380 ~ ±4.94065645841246544E-324 | 8 |
Javaのクラス型(参照型 値渡し)
クラス | 種類 | 表現可能なデータ幅 | データ長 (バイト) |
BigDecimal | 任意精度の 10進数 | - | - |
String | 可変文字列 | 可変文字列 | 可変※1 |