Java基礎之詳解基本數(shù)據(jù)類型的使用
一、整型
主要擴展一下不同進制的整型
二進制、八進制、十進制、十六進制
* 二進制 : 0B(數(shù)字零+B) 0b(數(shù)字零+b)
* 八進制 :0(數(shù)字零開頭)
* 十進制 :正常寫就是十進制
* 十六進制 : 0X (數(shù)字零+X)0x (數(shù)字零+x) A-F 代表 10-15
1.1 測試代碼
/** * 進制 : * 二進制 : 0B(數(shù)字零+B) 0b(數(shù)字零+b) * 八進制 :0(數(shù)字零開頭) * 十進制 :正常寫就是十進制 * 十六進制 : 0X (數(shù)字零+X)0x (數(shù)字零+x) * A-F 代表 10-15 * */ int i2_1 = 0b10; // 二進制的 2 int i2_2 = 0B10; int i8 = 010; // 八進制的 8 int i10 = 10; // 十進制的 10 int i16_1 = 0X1B; // 十六進制的 16+11 = 27 int i16_2 = 0x1B; System.out.println("二進制:i2_1 = "+i2_1); System.out.println("二進制:i2_2 = "+i2_2); System.out.println("八進制:i8 = "+i8); System.out.println("十進制:i10 = "+i10); System.out.println("十六進制:i16_1 = "+i16_1); System.out.println("十六進制:i16_2 = "+i16_2);
1.2 運行結果
二進制:i2_1 = 2
二進制:i2_2 = 2
八進制:i8 = 8
十進制:i10 = 10
十六進制:i16_1 = 27
十六進制:i16_2 = 27
二、浮點型
【特別注意】程序中盡量不要使用浮點型的數(shù)據(jù)進行比較,否則可能會出現(xiàn)非常嚴重的問題
浮點數(shù)的詭異比較 1. float 和 double 的數(shù)據(jù)不可直接進行比較 : float類型:有限的離散數(shù)據(jù),舍入誤差,所以不等于double同數(shù)據(jù) 2. float 和 float 的數(shù)據(jù)比較不可直接使用 == 【結論】 : 當涉及到 浮點數(shù)的比較的時候: 思路一 : 做差 小于某個數(shù) 思路二 : 使用 大數(shù)類型 BigDecimal
2.1 測試代碼(很關鍵)
/** * 浮點數(shù)的詭異比較 * 1. float 和 double 的數(shù)據(jù)不可直接進行比較 : * float類型:有限的離散數(shù)據(jù),舍入誤差,所以不等于double同數(shù)據(jù) * 2. float 和 float 的數(shù)據(jù)比較不可直接使用 == * * 【結論】 : 當涉及到 浮點數(shù)的比較的時候: * 思路一 : 做差 小于某個數(shù) * 思路二 : 使用 大數(shù)類型 BigDecimal */ float f1 = 1.56f; double f2 = 1.56; System.out.println("f1 = "+f1); System.out.println("f2 = "+f2); System.out.println(" f1 是否與 f2 的值相等 : "+(f1 == f2)); float d1 = 1231238142342342342909f; float d2 = d1 +1; System.out.println("d1 = "+d1); System.out.println("d2 = "+d2); System.out.println("d1 是否與 d2 的值相等 : "+(d1 == d2));
2.2 運行結果
f1 = 1.56
f2 = 1.56
f1 是否與 f2 的值相等 : false
d1 = 1.2312381E21
d2 = 1.2312381E21
d1 是否與 d2 的值相等 : true
三、字符的本質是數(shù)字
字符類型的數(shù)據(jù),本質上是一個數(shù)字
字符對應的是Unicode 編碼表中數(shù)字
可以直接寫 U0000 UFFFF (U后跟著的是十六進制的數(shù))
【特殊的字符】 : 轉義字符***
3.1 測試代碼
char c1 = 'a'; char c2 = '國'; char c3 = '\u0065'; // 十六進制 65 對應 unicode 編碼表中的 小寫字母 e System.out.println("c1 = " +c1+" ; (int)c1 = "+(int)c1); System.out.println("c2 = " +c2+" ; (int)c2 = "+(int)c2); System.out.println("c3 = "+c3);
3.2 運行結果
c1 = a ; (int)c1 = 97
c2 = 國 ; (int)c2 = 22269
c3 = e
四、字符串的比較
【注意】 字符串String 不屬于基本數(shù)據(jù)類型!
此處的比較主要是體會一下值 的比較
和對象地址的比較
4.1 測試代碼
String s1 = new String("Hello World!"); String s2 = new String("Hello World!"); String s3 = "Hello World!"; String s4 = "Hello World!"; System.out.println("s1 是否與 s2 相等 ? : "+(s1 == s2)); // false 對象的比較 System.out.println("s3 是否與 s4 相等 ? : "+(s3 == s4)); // true 值的比較
4.2 運行結果
s1 是否與 s2 相等 ? : false
s3 是否與 s4 相等 ? : true
到此這篇關于Java基礎之詳解基本數(shù)據(jù)類型的使用的文章就介紹到這了,更多相關Java基本數(shù)據(jù)類型 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis-plus實現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句實例
mybatisplus是個很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關于mybatis-plus實現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句的相關資料,需要的朋友可以參考下2022-09-09JDBC+GUI實現(xiàn)簡單學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了JDBC+GUI實現(xiàn)簡單學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02