java 扩展数据类型_005Java学习--数据类型及拓展
數據類型
強類型語言(安全性高,速度慢)
? 要求變量的使用要嚴格符合規定,所有變量都必須先定義后才能使用。
弱類型語言
Java的數據類型分為兩大類
基本類型(primitive type)---------------八大基本數據類型
數值類型
整數類型
byte占一個字節范圍
short占兩個字節范圍
int占四個字節范圍(最常用)
long占八個字節范圍(long類型要在數字后面加個L) byte num1 = 127;
short num2 = 32767;
int num3 = 2147483647;
long num4 = 30L;
long num5 = 9223372036854775807L;1
2
3
4
5
ps:范圍可以只記大概,具體可以通過各自對應的包裝類名Crtl+左鍵,點擊查看int–>Integer,char–>character,其他的包裝類都是把原始類中的首字母大寫…
浮點類型
float占四個字節(浮點數默認double類型,float類型要在數字后面加個F) float num6 = 30.2F;1
double占八個字節
字節類型 char占兩個字節(字符!!!不是字符串) char name1 = 'A';
char name2 = '張';
//字符串,String不是關鍵字,是 類
String name3 = "張三"1
2
3
4
5
boolean類型:占一位,其值只有true和false兩個 //布爾值
boolean flag = true;
//boolean flag = false;1
2
3
字節(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); }
}1
2
3
4
5
6
7
8
9
10
11
12
13
? 運行結果
10
8
16
21
2
3
4
浮點數
銀行業務怎么表示?
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); }
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
float 和double 是有精度問題的,上面代碼中,我們直接計算的話,預期fd為true,d1d2為false,然而結果恰恰相反
輸出結果
false
0.1
0.1
=============================================
true1
2
3
4
5
最好完全避免使用浮點數進行比較
最好完全避免使用浮點數進行比較
最好完全避免使用浮點數進行比較
所以銀行業務與錢有關的用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); //強制轉換 }
}1
2
3
4
5
6
7
8
9
10
11
12
輸出結果
a
97
中
200131
2
3
4
所有的字符本質還是數字
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);
//輸出結果:a1
2
3
轉義字符
\u :\uxxxx Unicode轉義字符,其中xxxx是十六進制數字的字符串表示形式
\n :換行
\t :水平制表符table
…
文章來源: blog.csdn.net,作者:Perfume#0822,版權歸原作者所有,如需轉載,請聯系作者。
原文鏈接:blog.csdn.net/weixin_48190823/article/details/113552349
總結
以上是生活随笔為你收集整理的java 扩展数据类型_005Java学习--数据类型及拓展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java securt 视频,Secur
- 下一篇: java 基础数据类型面试_Java(数