關鍵字
對於關鍵字的概述:
Java的關鍵字有叫做保留字,它對Java的編譯器有特殊的意義,他們用來表示一種數據類型,或者表示程序的結構等,關鍵字不能用作變量名、方法名、類名、包名和參數。
常見關鍵字:
1.用於訪問權限修飾符的關鍵字有:public, private, protected。
2.用於定義類,函數,變量修飾符的關鍵字有:final, abstract, static, synchronized。
3.用於定義類與類之間的關系的關鍵字有:extends, implements。
4.用於定義建立實例及引用實例,判斷實例的關鍵字有:new, this, super, instanceof。
5.用於處理異常的關鍵字有:try, catch, finally, throw, throws。
6.用於處理包的關鍵字有:package, inport。
7.其他修飾符關鍵字有:native, strictfp, transient, volatile, assent。
標識符:
標識符的概述:
Java語言中,對於變量,常量,函數,語句塊也有名字,我們統統稱之為Java標識符。
常用的標識符:
1.用於定義數據類型的關鍵字有:class, interface, byte, short, int, long, float, double, char, boolean, void。
2.用於定義數據類型值的關鍵字有:true, false, null。
3.用於定義流程控制類型的關鍵字有:if, else, switch, case, default, while, do, for, break, continue, return。
標識符必須要遵守以下規則:
1.標識符是由26個英文字符大小寫(a~zA~Z)、數字(0~9)、下划線(_)和美元符號($)組成。
2.不能以數字開頭,不能是關鍵字
3.嚴格區分大小寫
4.標識符可以為任意長度
標識符的命名規范:
1.包名:多個單詞組成時所有字母小寫(例如:sutdent com.itcast)
2.類名和接口:多個單詞組成時所有單詞首字母大寫(例如:HelloWorld)
3.變量名和函數:多個單詞組成時第一個單詞首字母小寫,其他單詞首字母大寫(例如:helloWorld)
4.常量名:多個單詞組成時,字母全部大寫,多個單詞之間使用_分隔(例:INTEGER_CACHE)
注意:只是為了增加規范性、可讀性而做的一種約定,標識符在定義的時候最好見名知意,提高代碼閱讀性。
注釋
注釋的作用:
通過注釋提高程序的可讀性,是java程序的條理更加清晰,易於區分代碼行與注釋行。另外通常在程序開頭加入作者,時間,版本,要實現的功能等內容注釋,方便后來的維護以及程序員的交流
注釋的種類:3種 (xxxx 代表注釋內容)
1.單行注釋:用 // 表示 例如 // xxxx
2.多行注釋:用 /* */ 表示 例如 /* xxxx */
3.文檔注釋:用 /** */ 例如: /**xxxx */
常量和變量
1.常量
常量的概述:
常量是指在運行過程中其值不能改變的量
常量的分類:
1>整型常量:所有的整數 例如:1 2 3 4
2>小數常量:所有的小數 例如 1.1 2.2 3.3
3>布爾常量:只有true和false
4>字符常量:只能用單引號引起來的單個字符 例如 ‘a’'b' 'c'
5>字符串常量:只能用雙引號引起來的字符序列 例如 "a" "b" "c"
6>null常量:只有一個值null;
整數的變現形式:
1>二進制:由0和1兩個數字組成
2>八進制:由0-7數字組成,為了區分與其他進制的數字區別,開頭都是以0開始
3>十進制:都是由0-9數字組成,不能以0開頭
4>十六進制:由0-9和A-F組成,為了區分開其他數字的區別,開頭都是以ox開始
2.變量
變量的概述:
用於存儲可變數據的容器
變量的特點:
1>必須要有大小
2>存儲一定格式的可變數據
3>必須要有名字
變量的數據類型
1>整型
byte 代表一個字節的大小 8bit 2(8) -128~127 例如:byte a = 1;
short 代表兩個字節的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四個字節的大小 32bit 2(32) -2(31)~2(31)-1 例如:int a = 12;
long 代表八個字節的大小 64bit 2(64) -2(63)~2(63)-1 例如:long a = 123;
如果一個數值沒有采取特殊的處理,那么該整數默認的類型是int。
可以使用數值后面添加L或小寫L改變默認的整數類型。
2>浮點型
float 代表四個字節的大小 32bit 例如:float a=10.23f;
double 代表八個字節的大小 32bit 例如:double a=10.23;
java程序中所有的小數默認的類型是double類型,所以需要使用特殊的符號改變默認的小數類型。
3>字符型
char 代表兩個字節的大小 16bit 2(16) 例如:char a = 'f';
原理:將字符映射為碼表中對應的十進制數據加以存儲。
4> 布爾型
boolean 占一個字節。只有true與false兩個值。
變量的聲明格式:數據類型 變量名字1 , 變量名字2 ,……變量名字n ,;
數據類型的轉換
1. 自動類型轉換(也叫隱式類型轉換)
Java內部其實做了工作就是自動將數值進行了類型提升,就叫做自動類型轉換(也叫隱式類型轉換)
要實現自動類型的轉換,需要滿足兩個條件,第一兩種類型彼此兼容,第二目標類型取值范圍必須大於源類型。所有的數字類型,包括整形和浮點型彼此都可以進行轉換
例如:
int*double--->double
char*int--->int
long*float--->float
2. 強制類型轉換(也叫顯式類型轉換)
當兩種類型彼此不兼容,或者目標類型取值范圍小於源類型(目標是byte源是int)
無法自動轉換,此時就需要進行強制類型轉換。
例如:
int a=128;
byte b=(byte)a;
System.out.println(b);//-128 此時的強轉已經造成了數值的不准確
運算符
算術運算符

正負號(+,-)

除法

%取模
求余數

取模的正負取決與被除數

自增(++)
自增在前:先自增完畢,再運算整個表達式,語句分號前面的都是運算表達式;

自增在后:先運算完整個表達式(分號前面的都是表達式),再進行自增;

備注:參與自增運算的操作數據每次會加1.
結論:
如果運算符在變量的前面,則該變量自增1或者自減1,然后返回的是變量的新值,如
果運算符在變量的后面,則變量也會自增或者自減1,但是返回的是變量原來的值。++在前就是先運算,再取值,++在后就是先取值,再運算。
賦值運算符
| 運算符 |
運算 |
范例 |
結果 |
| = |
賦值 |
a=3,b=2 |
a=3,b=2 |
| += |
加等於 |
a=3,b=3;a+=b; |
a=5,b=2; |
| -= |
減等於 |
a=3,b=2,a-=b; |
a=1,b=2; |
| *= |
乘等於 |
a=3,b=2,a*=b; |
a=6,b=2 |
| /= |
除等於 |
a=3,b=2,a/=b; |
a=1,b=2; |
| %= |
模等於 |
a=3,b=2,a%=b; |
a=1,b=2 |
比較運算符
比較運算符比較的兩邊操作數,結果都是boolean的,只有true和false兩種結果。
| 運算符 |
運算 |
例子 |
結果 |
| == |
相等於 |
4= =3 |
false |
| != |
不等於 |
4!= 3 |
true |
| < |
小於 |
4 < 3 |
flase |
| > |
大於 |
4>3 |
true |
| <= |
小於等於 |
4<=3 |
false |
| >= |
大於等於 |
4>=3 |
true |
| Instanceof |
檢查是否是類的對象 |
"hello"instanceof String |
true |
使用比較運算符的時候,要求兩種數據類型必須一致。

邏輯運算符
邏輯運算符用於對boolean型結果的表達式進行運算,運算的結果都是boolean型。我們的比較運算符只能進行一次判斷,對於對此判斷無能為力,那么邏輯運算符就可以經將較運算符連接起來。

邏輯運算符用於連接布爾型表達式,在Java中不可以寫成3<x<6,應該寫成x>3 & x<6 。
“&”和“&&”的區別:單與時,左邊無論真假,右邊都進行運算;雙與時,如果左邊為真,右邊參與運算,如果左邊為假,那么右邊不參與運算。
“|”和“||”的區別同理,雙或時,左邊為真右邊不參與運算。
“ ^ ”異或與“|”或的不同之處是:當左右都為true時,結果為false。
& 與 | 或 ^ 異或 ! 非
位運算符
| 位運算符
|
運算符含義
|
| & |
與(AND) |
| | |
或(OR) |
| ^ |
異或 |
| ~ |
取反 |
移位操作符
| 位運算符 |
||
| 運算符 |
運算 |
范例 |
| << |
左移 |
3 << 2 = 12 --> 3*2*2=12 |
| >> |
右移 |
3 >> 1 = 1 --> 3/2=1 |
| >>> |
無符號右移 |
3 >>> 1 = 1 --> 3/2=1 |
| & |
與運算 |
6 & 3 = 2 |
| | |
或運算 |
6 | 3 = 7 |
| ^ |
異或運算 |
6 ^ 3 = 5 |
| ~ |
反碼 |
~6 = -7 |
| 位運算符的細節 |
|
| << |
空位補0,被移除的高位丟棄,空缺位補0。 |
| >> |
被移位的二進制最高位是0,右移后,空缺位補0; 最高位是1,空缺位補1。 |
| >>> |
被移位二進制最高位無論是0或者是1,空缺位都用0補。 |
| & |
二進制位進行&運算,只有1&1時結果是1,否則是0; |
| | |
二進制位進行 | 運算,只有0 | 0時結果是0,否則是1; |
| ^ |
任何相同二進制位進行 ^ 運算,結果是0;1^1=0 , 0^0=0
不相同二進制位 ^ 運算結果是1。1^0=1 , 0^1=1 |
三元運算符
格式
(條件表達式)?表達式1:表達式2;
如果條件為true,運算后的結果是表達式1;
如果條件為false,運算后的結果是表達式2;
例如:
int x = 1;
int y = 2;
int z;
z = x > y ? x : y;
System.out.println(z); //2
運算符的優先級與結合性

例如:

、
轉義字符
| 轉義字符 |
名稱 |
Unicode |
| \b |
Backspace (退格鍵) |
\u0008 |
| \t |
Tab (Tab鍵盤) |
\u0009 |
| \n |
Linefeed (換行) |
\u000A |
| \r |
Carriage Return(回車) |
\u000D |
| \\ |
Backslash (反斜杠) |
\u005C |
| \' |
Single Quote (單引號) |
\u0027 |
| \" |
Double Quote (雙引號) |
\u0022 |
\r 表示接受鍵盤輸入,相當於按下回車。
\n 表示換行。
\t 制表符,相當於Table鍵
\b 退格鍵,相當於Back Space
\’ 單引號
\’’ 雙引號
\\ 表示一個斜跨
