1. 程式人生 > >Java基本資料型別詳解

Java基本資料型別詳解

Java中的基本資料型別

1. 整數型

型別 大小 範圍 示例
byte 佔一個位元組 -128~127 byte b = 10;
short 佔兩個位元組 -2^15~2^15-1 short s = 20;
int 佔四個位元組 -2^31~2^31-1 int i = 30;
long 佔八個位元組 -2^63~2^63-1 long x = 8888888888L

2. 浮點型

型別 大小 範圍 示例
float 佔四個位元組 -3.403E38~3.403E38 float f = 12.3F
double 佔八個位元組 -1.798E308~1.798E308 double d = 33.4

3. 字元型:可以儲存漢字,因為漢字也佔兩個位元組。

大小 範圍 示例
char 佔兩個位元組 0~65535 char c = 'a';

4. 布林型: boolean理論上是佔八分之一位元組,但java中並未明確指定它的大小。

二、 Java中基本資料型別的轉換規則

1. 預設轉換規則:取值範圍小的資料型別與取值範圍大的資料型別進行運算,會先將小的資料型別提升為大的,再運算。

2. 強制轉換:範圍小的型別向範圍大的型別轉換可以是隱式轉換,反之則要進行強制轉換

   (1)byte和byte(或short, char) 進行運算時,會提升為int, 兩個int值相加也為int,強制轉換例子如下。

byte b1 = 3;
byte b2 = 4;
byte b = (byte) (b1 + b2);      // 解釋要強制轉換的原因
System.out.println(b);
	        
short s1 = 3;
short s2 = 4;
short s = (short) (s1 + s2);
System.out.println(s);

(2)Float的範圍比long類要大

float f = 12.3f;
long x = 12345;
f = x;                   // 此處是隱式轉換
System.out.println(f);
x = (long) f;            // 此處必須強制轉換
System.out.println(x);

(3)char型別參與運算:

        ASCII碼錶中,'0'對應int值48,‘A'對應int值65,'a'對應int值97

        當字元型別資料參與數值運算時,自動轉換成int型別參與運算。

char c = 'a';
System.out.println(c);
System.out.println('c' + 1);

c
98