關鍵字java
對於關鍵字的概述:程序員
Java的關鍵字有叫作保留字,它對Java的編譯器有特殊的意義,他們用來表示一種數據類型,或者表示程序的結構等,關鍵字不能用做變量名、方法名、類名、包名和參數。函數
常見關鍵字:this
1.用於訪問權限修飾符的關鍵字有:public, private, protected。spa
2.用於定義類,函數,變量修飾符的關鍵字有:final, abstract, static, synchronized。3d
3.用於定義類與類之間的關係的關鍵字有:extends, implements。code
4.用於定義創建實例及引用實例,判斷實例的關鍵字有:new, this, super, instanceof。對象
5.用於處理異常的關鍵字有:try, catch, finally, throw, throws。blog
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
\’ 單引號
\’’ 雙引號
\\ 表示一個斜跨