- java資料型別分為:基本資料型別和參考資料型別
- 基本資料型別有8個:[int,long,short,float,double,byte] char,boolean]
- 參考型別[類,介面,陣列]

整數型:
細節1:每個資料型別在記憶體在分配了不同的記憶體大小[位元組]
byte n1 = 10;//1位元組
short n2 = 10;//2位元組
int n3 = 10;//4 個位元組
long n4 = 10; //8 個位元組
細節2:整數型別存放的范圍
byte -> 負128 ~ 正127
short -> 負32768 ~ 正32767
int -> 負2147483648 ~ 正2147483647
long -> ![]()
細節3:
- java整型默認值為int型別
- 宣告long(長整型)必須后面加'l'或'L' 如:long n1 = 100L 或 long n2 = 200l
- bit是計算機中最小存盤單位,1bytr = 8bit
浮點型:
- 單精度float -- 4個位元組 -- 范圍 -3.403E38 ~ 3.103E38
- 雙精度double -- 8個位元組 -- 范圍 -1.798E308 ~ 1.798E308
細節1:
- java的浮點型默認值是double型
- 宣告float1型,后面要加 ‘f’ 或 ‘F’ 如:float num1 = 1.1F 或 double num2 = 2.2f
- 通常情況下使用double因為精度比float更精確
字符型:
- 字符型 - char
- 可以表示單個字符,char是2個位元組
- 如:char name = ''帥 或 char num = 97
細節1:
- 字符型常量需要使用單引號(' ')括起來
- 如:char c1 = 'a' -- char c2 = '中' -- char c3 = '9'
- char本質是整數,輸出時是unicode碼
- 給char賦一個整數,輸入會按照unicode碼輸出
char n1 = 97 輸出結果:a char n2 = 'a' 輸出結果:a char n3 = n1 + 1 //98 輸出結果:b 為什么 n1 = 97 輸出 a ??? 存盤程序:'a' --> 碼值97 --> 二進制(1100001) --> 存盤 讀取程序:二進制(1100001)--> 碼值97 --> ’a‘ --> 顯示
布爾型:
- 真 --> true
- 假 --> false
- 多數在條件判斷中使用
基本資料型別轉換:
資料型別容量大小排序:
![]()
自動型別轉換:容量小的型別自動轉換為容量大的資料型別 --> 總結:小容量轉大容量
自動型別轉換細節: 1.多個型別資料混合運數時,系統會按最大的型別進行轉換 int i = 10 float d1 = n1 + 1.1 //錯誤 原因:結果型別一個是double float d2 = n1 + 1.1F //正確 原因:結果型別一個是float double d3 = n1 + 1.1 //正確 原因:結果型別一個是double 2.容量大的賦值給容量小的肯定會報錯 int i = 1.1 //錯誤 原因:double -> int 3.(byte,short) 和 char之間不會相互自動轉換 byte b1 = 10 //正確 int n1 = 1 byte b2 = n2 //錯誤 原因:變數賦值,判斷該型別 char c1 = b1 //錯誤 原因:byte不能自動轉換為char 4.byte,short,char該三個資料型別計算,計算時首先轉換為int型別 byte b1 = 1; short b2 = 2; short b3 = b1 + b2 //錯誤 原因:計算時首先轉換為int型別 int b3 = b1 + b2 //正確
強制型別轉換:將容量大的資料型別轉換為容量小的資料型別 --> 總結:大容量轉小容量
強制型別轉換細節:
1.精度降低或溢位
int i = (int)1.9 //結果 1
2.強轉符號只針對于最近的運算元有效,往往會使用小括號提升優先級
int x = (int)10*3.5+6*1.5;//編譯錯誤,這里的強轉真對的就是10
int x = (int)(10*3.5+6*1.5);//正確 (int)44.0 -> 44
3.char型別可以保留int的常量值,不能保存int的變數值需要強轉
char c = 100 //保留int的常量值
int i = 100;
char m = i //錯誤
char m = (char)i //正確
基本資料型別和 String 型別的轉換:
將基本資料型別轉換為字串,或字串轉基本資料類
資料型別轉換字串語法:String s1 = j + ""; //加一個空字串就可以了
字串轉基本資料類語法:int num1 = Integer.parseInt(s5); //使用包裝類方法
怎么把字串轉為char? --> 就是獲取字串的的一個字符 --> s5.charAt(0)
基本資料型別轉字串 int n1 = 100; float f1 = 1.1F; double d1 = 4.5; boolean b1 = true; String s1 = n1 + ""; String s2 = f1 + ""; String s3 = d1 + ""; String s4 = b1 + ""; 字串轉基本資料型別: int num1 = Integer.parseInt(s5); double num2 = Double.parseDouble(s5); float num3 = Float.parseFloat(s5); long num4 = Long.parseLong(s5); byte num5 = Byte.parseByte(s5); boolean b = Boolean.parseBoolean("true"); short num6 = Short.parseShort(s5);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499020.html
標籤:Java
下一篇:instanceif關鍵字
