文章目錄
- 資料型別
- 強型別語言(安全性高,速度慢)
- 弱型別語言
- Java的資料型別分為兩大類
- 基本型別(primitive type)---------------**八大基本資料型別**
- 數值型別
- 整數型別
- 浮點型別
- 位元組型別 char占兩個位元組(字符!!!不是字串)
- boolean型別:占一位,其值只有true和false兩個
- 參考型別(reference type)
- 拓展
- 整數進制
- 浮點數
- 字符
- 轉義字符
資料型別
強型別語言(安全性高,速度慢)
? 要求變數的使用要嚴格符合規定,所有變數都必須先定義后才能使用,
弱型別語言
Java的資料型別分為兩大類
-
基本型別(primitive type)---------------八大基本資料型別
-
數值型別
-
整數型別
-
byte占一個位元組范圍
-
short占兩個位元組范圍
-
int占四個位元組范圍(最常用)
-
long占八個位元組范圍(long型別要在數字后面加個L)
byte num1 = 127; short num2 = 32767; int num3 = 2147483647; long num4 = 30L; long num5 = 9223372036854775807L;
ps:范圍可以只記大概,具體可以通過各自對應的包裝類名Crtl+左鍵,點擊查看int–>Integer,char–>character,其他的包裝類都是把原始類中的首字母大寫…

-
-
浮點型別
-
float占四個位元組(浮點數默認double型別,float型別要在數字后面加個F)
float num6 = 30.2F; -
double占八個位元組
-
-
位元組型別 char占兩個位元組(字符!!!不是字串)
char name1 = 'A'; char name2 = '張'; //字串,String不是關鍵字,是 類 String name3 = "張三"
-
-
boolean型別:占一位,其值只有true和false兩個
//布林值 boolean flag = true; //boolean flag = false;
位元組(byte)計算機資料處理的基本單位,用大寫B來表示’位(bit)是計算機內部資料存盤的最小單位`,1B = 8b
-
-
參考型別(reference type)
-
類
-
介面
-
陣列
-
拓展
整數進制
二進制0b,八進制0,十六進制0x
public class Demo01 {
public static void main(String[] args) {
int i = 10; //十進制
int i2 = 010; //八進制0
int i3 = 0x10; //十六進制0x
int i4 = 0b10; //二進制0b
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
? 運行結果
10
8
16
2
浮點數
銀行業務怎么表示?
public class Demo02 {
public static void main(String[] args) {
float f = 0.1f;
double d = 1.0/10;
System.out.println(f == d);
System.out.println(f);
System.out.println(d);
System.out.println("========================================");
float d1 = 233333333333333333F;
float d2 = d1 + 1;
System.out.println(d1 == d2);
}
}
float 和double 是有精度問題的,上面代碼中,我們直接計算的話,預期fd為true,d1d2為false,然而結果恰恰相反
輸出結果
false
0.1
0.1
=============================================
true
最好完全避免使用浮點數進行比較
最好完全避免使用浮點數進行比較
最好完全避免使用浮點數進行比較
所以銀行業務與錢有關的用BigDecimal(數學工具類),
字符
public class Demo03 {
public static void main(String[] args) {
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //強制轉換
System.out.println(c2);
System.out.println((int)c2); //強制轉換
}
}
輸出結果
a
97
中
20013
所有的字符本質還是數字
Unicode編碼
如果有一種編碼,將世界上所有的符號都納入其中,無論是英文、日文、還是中文等,大家都使用這個編碼表,就不會出現編碼不匹配現象,每個符號對應一個唯一的編碼,亂碼問題就不存在了,這就是Unicode編碼,
Unicode當然是一個很大的集合,現在的規模可以容納100多萬個符號,每個符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的大寫字母A,“漢”這個字的Unicode編碼是U+6C49,
Unicode固然統一了編碼方式,但是它的效率不高,比如UCS-4(Unicode的標準之一)規定用4個位元組存盤一個符號,那么每個英文字母前都必然有三個位元組是0,這對存盤和傳輸來說都很耗資源,
char = '\u0061'; System.out.printIn(c3); //輸出結果:a
轉義字符
\u :\uxxxx Unicode轉義字符,其中xxxx是十六進制數字的字串表示形式
\n :換行
\t :水平制表符table
…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255899.html
標籤:其他
上一篇:C語言資料存盤-浮點型
