Java基礎(一)
阿新 • • 發佈:2022-03-17
JAVA基礎(一)
Java的資料型別共分為兩大類:
-
基本資料型別
-
引用資料型別
1、資料型別
1.1、整數型(byte、int、short、long)
儘量少用中文和拼音去命名物件和變數
int num1=2022;
byte num2=127;
short num3=30;
long num4=50L//long型別要在數字後加個L
進位制有二進位制、八進位制、十進位制、十六進位制,最常見的就是10進位制
//整數拓展 進位制 二進位制 十進位制 八進位制0 十六進位制0x int i=0xFF; //八進位制0 int i1=063; //十六進位制0x System.out.println(i);
1.2、浮點型(float、double)
float num5 =3.1F;
//float型別要在數字後加個F說明,否則報錯(java是強型別語言,必需按照規範書寫)
double num6 =3.141592653589793238462643;
1.3、字元型(char)
char name ='寧';
//char只能插入一個字元
//字串,String不是關鍵字,String是一個類
String names ="張三";
1.4、布林型(boolean)
//布林值:是非(true和false) boolean flag = true; //boolean flags =false; System.out.println(flag); System.out.println(num2);
2、思考
2.1、浮點數拓展
銀行業務中金錢數額怎麼表示?
最好完全避免使用浮點型進行比較
最好完全避免使用浮點型進行比較
最好完全避免使用浮點型進行比較
原因在於float是有限、離散、舍入誤差、大約、接近但不等於,對於精確度要求不高的運算還行, 如果我們用float或者double 來做哪些要求精確的運算(例如銀行)時就要小心了, 很可能得不到你想要的結果, 建議使用BigDecimal一種數學工具類來避免這種情況發生。
float f=0.1F; //0.1 double d=1.0/10; //0.1 System.out.println(f==d); //值相等,討論為何輸出false float d1=232323232323F; float d2=d1+1; System.out.println(d1==d2); //值不相等,討論為何輸出true
浮點數在計算機中採用二進位制科學計數法儲存,因為位數有限無法精確表示有些浮點數,所以導致了精度的丟失,二進位制科學計數法無法準確標識1/10,就像十進位制無法準確標識1/3。
2.2、字元拓展:
所有字元本質還是數字
常用的unicode編碼表
char c3='\u0061';
//c3代表的a
System.out.println(c3);
2.3、轉義字元
System.out.print("Hello\nWorld");
2.4、String物件比較
字串比較相等的值時使用equals方法,Java中每個類都有equals方法,它是Object自帶的方法,所有類都繼承Object類。equals的返回值是一個boolean值
String sa=new String("hello world");
String sb=new String("hello world");
System.out.println(sa==sb);
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);
System.out.println(sa==sd);
== 本身是進行數值比較的,若用於物件比較,則比較的是兩個物件所儲存的記憶體地址是否相等,而並沒有比較物件的內容。若想要進行內容比較,則必須採用String類提供的equals方法:
2.5、布林值擴充套件
這兩句的意思相同,寫下面這句可以讓程式碼簡潔
但是會降低程式碼的可讀性,不建議新手使用
boolean flags=true;
if (flags == true){}
if (flags) {}