語法
註釋
//單行註釋
/*
多行註釋
*
/
/**
文件註釋*
/(用得比較少)
識別符號關鍵字-引數定義注意事項
關鍵字有自己特定功用-在定義引數時不能隨意使用
資料型別
強型別語言——必須先定義後再使用且變數使用必須符合規定
基礎型別
-
整數型int常用且夠用,long型別要在數字後面加L-小寫也可以但容易被看錯
進位制開頭 二進位制0b 十進位制 八進位制0 十六進位制0x 輸出為二進位制
int num1 = 10; long num2 = 30L; int i1 = 10; int i2 = 010; int i3 = 0x10;
-
小數型別一般double夠用,float後面加F(除錯定點—前面標紅點不透過箭頭按蟑螂符除錯)
浮點數接近但不等於-不要用浮點數進行比較-用BigDecimal資料工具類
float num3=50.1F;
-
字元char(一箇中文符佔兩個位元組)(1個位元組8個位,標識加7個1為127),String(引用型別)可定義多個字串
直接輸出字元注意帶符號
字元轉換為數字,輸出前面加int-字元本質還是數字(Unicode得編碼表)
跳脫字元-輸出空格符\t,輸出換行符\n-更多的自己學了測試
char name = 'A'; String namea = "moulixu"; 輸出注意帶符號sout("moulixu"); 輸出轉換sout((int)name); 輸出空格sout(“mou\tli\txu”);
-
boolean只有是非
用來if中做判斷-程式碼精簡易讀
boolean flag = true; if (flag){}預設為if(flag==true){}; boolean flag = false;
引用型別
除基礎型別以外都是引用型別
型別轉換
-
低到高 byte,short,char-int-long-float-double
-
運算時,不同資料型別轉換為同一型別再做運算-轉換時避免記憶體溢位127(混亂結果)
-
強制轉換-高到低-(型別)變數名
int i = 128; byte b = (byte)i; 或者輸出轉換sout("moulixu");
-
自動轉換-低到高
int i = 128; double b = i;
注意點
- 不能對布林boolean進行轉換
- 不能把物件型別轉換為不相干得型別
- 高到低強制轉換
- 轉換時避免記憶體溢位和精度問題
資料很大時
比如
-
int money = 10_0000_0000;數字之間可用下劃線分割且下劃線不會被輸出
-
注意轉換前已經出現問題
int a =100000000; int b =100; long total1 = a*b;//(預設int*int為int型別,輸出會是亂碼) //可以這樣 long total2 = a*((long)b);//把其中一個強制轉換為long
變數、作用域、常量
變數
可以變化得量-指定空間進行變數資料操作
變數需要定義型別,變數名需要符合標準,分號結尾
type name = 11;
//資料型別 變數名 = 值;可以使用逗號隔開來聲名多個同型別變數-不建議這樣(讀起來不順暢)
type a,b,c;
作用域
-
類變數-加了static關鍵詞;-後面再仔細學
-
實列變數-從屬於類;如果不自行初始化,這個型別就是預設值0、0.0、false(除了基本型別,其餘預設都是null)
new使用
-
區域性變數-方法裡,方法外就沒用了(必須宣告和初始化值)
public class Variable{ static int allClicks = 0;//類變數 String str = "hello";//實列變數 public void method(){ int i =0;//區域性變數 } }
常量
初始化後 不會再改變-避免規定範圍出錯
final double PI =3.14;
// final 型別 常量名=值-常量名一般使用大寫字元
static final double PI =3.14;
final static double PI =3.14;//變數前為修飾符,修飾符得順序不影響輸出結果