總結: 基本數據類型(瞭解) 整數 byte、short、int、long 浮點數 float、double 字元 char 布爾 boolean 類型轉換(瞭解) 數據範圍小的賦值給數據範圍大的會自動轉換 數據範圍大的賦值給數據範圍小用括弧括起來 大轉小會出現精度損失 一、數據類型 1. 電腦存 ...
總結:
基本數據類型(瞭解)
整數
- byte、short、int、long
浮點數
- float、double
字元
- char
布爾
- boolean
類型轉換(瞭解)
數據範圍小的賦值給數據範圍大的會自動轉換
數據範圍大的賦值給數據範圍小用括弧括起來
大轉小會出現精度損失
一、數據類型
1. 電腦存儲單元
電腦是可以用來存儲數據的,但是無論是記憶體還是硬碟,電腦存儲設備的最小信息單元叫位(bit)
,我們又稱之為“比特位”,通常用小寫的字母“b”表示。而電腦中最基本的存儲單元叫位元組(byte)
。
通常用大寫字母“B”表示,位元組是由連續的8個位(bit)
組成。
除了位元組外還有一些常用的存儲單位,其換算單位如下:
1B(位元組) = 8bit(位)
1KB(千位元組)= 1024B
1MB (兆) = 1024KB
1GB(吉) = 1024MB
1TB(太) = 1024GB
2. 數據類型分類
- Java中的數據必須明確數據類型。
- Java的數據類型分為兩大類:
- 基本數據類型:
整數
、浮點數
、字元
、布爾
- 引用數據類型:
類
、數組
、介面
- 基本數據類型:
3. 基本數據類型
四類八種基本數據類型:
數據類型 | 關鍵字 | 記憶體占用 | 取值範圍 |
---|---|---|---|
整數類型 | |||
位元組型 | byte | 1位元組 | -128 ~ 127 |
短整型 | short | 2位元組 | -32768 ~ 32767 |
整型 | int(預設) | 4位元組 | -2^31^ ~ 2^31^ -1 |
長整型 | long | 8位元組 | -2^63^ ~ 2^63^ -1 |
浮點類型 | |||
單精度浮點型 | float | 4位元組 | 負數: -3.402823E+38~-1.401298E-45 |
正數: 1.401298E- 45 ~ 3.402823E+38 | |||
雙精度浮點型 | double(預設) | 8位元組 | 負數: -1.797693E+308~-4.9000000E-324 |
正數:4.9000000E-324 ~ 1.797693E + 308 | |||
字元類型 | char | 2位元組 | 0-65535 |
布爾類型 | boolean | 1位元組 | true,false |
說明:
-
e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方。
-
在java中整數預設是int類型,浮點數預設是double類型。
二、類型轉換
在Java中,一些數據類型之間是可以相互轉換的。分為兩種情況:自動類型轉換和強制類型轉換。
1. 自動類型轉換
把一個表示數據範圍小的數值或者變數賦值給另一個表示數據範圍大的變數。這種轉換方式是自動的,直接書寫即可。
例如:
double num = 10; // 將int類型的10直接賦值給double類型
System.out.println(num); // 輸出10.0
2. 強制類型轉換
把一個表示數據範圍大的數值或者變數賦值給另一個表示數據範圍小的變數。
強制類型轉換格式
- 目標數據類型 變數名 = (目標數據類型)值或者變數;
例如:
double num1 = 5.5;// 定義一個double類型的變數num1
int num2 = (int) num1; // 將double類型的num1強制轉換為int類型
System.out.println(num2); // 輸出5(小數位直接捨棄)
說明:
- char類型的數據轉換為int類型是按照碼表中對應的int值進行計算的。比如在ASCII碼表中,'a'對應97。
int a = 'a';
System.out.println(a); // 將輸出97
- 整數預設是int類型,byte、short和char類型數據參與運算均會自動轉換為int類型。
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2;
// 第三行代碼會報錯,b1和b2會自動轉換為int類型,計算結果為int,int賦值給byte需要強制類型轉換。
// 修改為:
int num = b1 + b2;
// 或者:
byte b3 = (byte) (b1 + b2);
- boolean類型不能與其他基本數據類型相互轉換。