#進製
進製2進製
10進製
8進製16進製制
表示方法0b0
0x例項
0b10
10010
0x10結果2
10816
//float 有限 離散 捨入誤差 大約接近,但不等於
//double
//最好完全使用浮點數進行比較
//最好完全使用浮點數進行比較
//最好完全使用浮點數進行比較
例項1:
float f =
0.1f
;double d =
1.0/10;
system.out.
println
(f==d)
;//判斷f與d是否一樣
system.out.
println
(f);
system.out.
println
(d);
結果:false
0.10.1
結論:雖然f與d的結果均為0.1但大小並不相同 (因為會有捨入的情況)
例項2:
float d1 =
2313313131313f
;float d2 =d1+1;
system.out.
println
(d1)
; system.out.
println
(d2)
; system.out.
println
(d1==d2)
;結果:
2.31331306e12
2.31331306e12
true
結論:數值過大,導致捨入並不明顯
因此,在涉及到金融系列的問題,如銀行業務時,float與double型別並不適用。 此時會用到bigdecimal類 即數學工具類
例項1:
char c1 =
'a';
char c2 =
'中';
system.out.
println
(c1)
; system.out.
println((
int) c1)
;//強制轉換
system.out.
println
(c2)
; system.out.
println((
int) c2)
;//強制轉換
結果:a97中
20013
結論:所有的字元本質還是數字
採用unicode 編碼表 為2個位元組即2的16次方 =
65536
範圍 u0000--
--uffff
轉義字元
\t 製表符
\n 換行
//......
例項2:
string sa =
newstring
("hello world");
string sb =
newstring
("hello world");
system.out.
println
(sa)
; system.out.
println
(sb)
; system.out.
println
(sa==sb)
;結果:
hello world
hello world
false
string sc =
"hello world"
; string sd =
"hello world"
; system.out.
println
(sc)
; system.out.
println
(sd)
; system.out.
println
(sc==sd)
;結果:
hello world
hello world
true
結論:此結論需從記憶體進行分析,我暫時也不明白
boolean flag =true;
if (flag==true){} 與 if (flag){}
**是一樣的
dede擴充套件資料型別 資料型別擴充套件
資料型別擴充套件 整數擴充套件 整數的進製有二進位制 0b 八進位制 0 十進位制,十六進製制 0x 例 int num1 10 int num2 0b10 int num3 010 int num4 0x10 system.out.println num1 system.out.println n...
資料型別擴充套件
進製 二進位制0b 十進位制 八進位制0 十六進製制0x int i1 0 int i2 0b10 二進位制 int i3 010 八進位制 int i4 0x10 十六進製制 system.out.println i1 0 system.out.println i2 2 system.out.pr...
資料型別擴充套件
浮點型 float 與 double 特點 有限 離散 捨入誤差 大約 接近但不等於 float a 0.1f double b 1.0 10 system.out.println f d false float d1 12354554212f float d2 d1 1 system.out.pr...