三種註釋:須要注意的是三種註釋內容裏都不能出現Unicode轉義字符(\u),不然沒法經過編譯。java
單行註釋:面試
<!-- lang: java --> // ...註釋內容...
多行註釋:編碼
/* * 註釋內容 * 不容許嵌套 */
文檔註釋:code
/** *註釋內容 * 不容許嵌套 */
數據類型:unicode
8種基本數據類型:文檔
4種整型(有三種表示形式,十進制(不能以0開頭)、八進制(0)、十六進制(0x)):編譯
byte(-128~127)、short、int(正負20億左右)、long(後綴大小寫L).
2種浮點型:變量
float(後綴大小寫F)、double(其數值精度是float類型的兩倍,一般稱之爲雙精度數值) .
字符類型:char(其實也算是一種沒有符號的整型數據,使用單引號,unicode編碼).數據類型
布爾型:boolean(false\true).float
關於char型
<!-- lang: java --> //char型數據應當注意的幾種狀況 System. out.println( "unicode表中第100位是:" +(char)100); //d System. out.println( " d 在unicode表中的順序位置是" +(int)'d' ); //100 System.out.println( 'A'+ 'a'); //注意該輸出結果不是" Aa",而是加法的計算結果162
須要注意的是數據類型間的轉換問題:低字節轉成高字節時,數據類型會自動提高,自動轉換的;可是高字節轉換低字節時,數據類型須要顯式的進行強制類型轉換。
byte b = ( byte) (300); // b=44;超過了byte的取值類型,精度丟失 short s = 4; short s2 = (short) (b+s); //short+byte,兩個操做數被轉換成 int;
還有種狀況比較棘手,下面這兩個會輸出什麼呢?(緣由本人不是很清楚)
System. out.println(2.0-1.1); //0.8999999999999999 System. out.println(( int)( char)( short)-1); //65535
變量的命名規則: 1:變量名的長度沒有限制;
2:不能爲JAVA中的關鍵字或保留字;
3:大小寫敏感;
4:第一個字符不能爲數字;
5:不能有空格;
6:核心技術原書是說:變量名必須是一個以字母 開頭的由字母或數字構成的序列,而實際上的狀況是 能夠由字母、下劃線、美圓符號、數字甚至中文漢字構成的序列。 例如:
int 變量 , _123 , $abc, _4漢字5$_; //這樣的標識符是合法的,可是不建議使用 int 4Ab , kong ge , \u0008 , abc&cda; //Error,這些都不是合法的標識符
運算符:算術運算符、賦值運算符、邏輯運算符、自增自減、位運算符、三元運算符
自增自減:前綴方式先進行加(減)運算,後綴方式則使用變量原來的值,它的操做數不能是數值;
例:假設 a=1; int b = ++a; a的值會先加1,而後賦值給b,此時,b = 2,a=2; 一樣假設a=1; int b = a++; a並不會先進行自增運算,而是先將原來的值賦給b,此時,b = 1,a=2;
理解了上面這個列子就能夠明白一些很是折磨人的面試題了,好比在if和while語句裏判斷自增自減,如
int a = 1; int b = 0; do{ b++; System. out.println(b); } while(a++<3); //再把a++換成++a,看看有什麼區別
邏輯運算符:邏輯或(&和&&),邏輯或(|和||),邏輯非(!);&&和&,|和||的區別。
三元運算符:數據類型 變量 = 布爾表達式?知足條件設置的內容:不知足條件設置的內容 ;
運算符優先級:() - 正負號 - 自增和自減 - 乘除 - 加減 - 位移 - 比較大小 - 判斷 - 位運算 - 邏輯運算 - 三目 - 賦值;