一.關鍵字的定義和特點
被 Java 語言賦予了特殊含義,用做專門用途的字符串(單詞)
特點:關鍵字中所有字母都是小寫的
二.標識符的定義和規則
java對各種變量,方法和類等要素命名時使用的字符序列成爲標識符。
對於合法的標識符的定義規則
由 26 個英文字母大小寫,0-9 ,_或 $ 組成(字母、數字、 _,$)
數字不可以開頭
不可以使用關鍵字和保留字,但能包含關鍵字和保留字
Java 中嚴格區分大小寫,長度無限制
標識符不能包含空格
三.java中變量對象的儲存位置
1.棧和堆都是java用來在RAM中儲存數據的地方,和C++不同,java自動管理棧和堆,程序員不能直接管理棧和堆。
2.一種是基本類型(byte,short,int,long,float,double,char,boolean)八種,並沒有string類型,由於他們大小可知,生存期可知,所以爲了追求速度一般存放在棧中。
3.只要是new 一個對象,一般來說就儲存在堆中。Java的內存分配上,主要分4個塊。
一塊是用來裝代碼的,就是編譯的東西。
一塊是用來裝靜態變量的,例如用static關鍵字的變量,例如字符串常量。
一塊是stack,也就是棧,是用來裝變量和引用類型的!但區別在於,裝了變量以後,變量上是有值的,而引用類型本身在stack上是沒有值的。
一塊是heap,也就是堆!堆可以一句話概括,裝new出來的東西!
所以綜上所述,基本數據類型都在stack中,而引用類型,變量是放在stack中,真正有內容的東西放在heap中,也就是當new了一個新的引用類型,他就會放在堆中,同時棧中的引用類型變量會指向堆中你new出來的東西。
四.轉義字符的意義以及對應的ascii值
轉義字符 | 意義 | ASCII碼值(十進制) |
\a | 響鈴 | 007 |
\b | 退格,將當前位置移到前一列 | 008 |
\f | 換頁,將當前位置移到下頁開頭 | 012 |
\n | 換行,將當前位置移到下一行開頭 | 010 |
\r | 回車,將當前位置移到本行開頭 | 013 |
\v | 垂直製表 | 011 |
\t | 水平製表(調到下一個TAB位置) | 009 |
\\ | 代表一個反斜線字符‘\’ | 092 |
1.中文字符佔2個字節
2.a在ASCII碼中表示97,A和a差32,所以A是65,依次類推。
3.取餘的時候後面那個數如果是負數就可以省略負號,在前面就不能省略。
4.位移運算符是指按二進制形式把所有的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1。
例如11 >> 2,則是將數字11右移2位
計算過程:
11的二進制形式爲:0000 0000 0000 0000 0000 0000 0000 1011,然後把低位的最後兩個數字移出,因爲該數字是正數,所以在高位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 0010。轉換爲十進制是2。
5.++i和i++到底有什麼區別
{int i=0; int j=i++;}
{int i=0; int z=++i;}
運算過後,j=0;表明i++是指先把i賦值給j然後再自身加1;
運算過後,z=1;表明++i是指先自身加1後賦值給z;
總之記住++號在後面的意思是先賦值然後自身加1;++在前面的是先自身加1後賦值。