-
注意事項:
1:Java變量名會區分大小寫
String string = "XXX"; 大寫String代表字符串類型,小寫的爲變量名稱
2:類名稱首字母要大寫
3:所有方法名稱必須以小寫字母開頭
4:程序文件名與類名必須一致,後綴爲.java的文件
5:Java中的main函數爲程序入口
6:Java中的關鍵字不能用於變量名、類名、方法名、對象名
-
標識符命名規範
類、變量、方法的名稱稱爲標識符
標識符格式:必須以大小寫字母、貨幣字符$、下劃線開頭,不能以數字開頭但可以包含
注:標識符不能是系統關鍵字
例:
A:包 全部小寫
單級包:小寫
舉例:liuyi,com
多級包:小寫,並用.隔開
舉例:cn.itcast,com.baidu
B:類或者接口
一個單詞:首字母大寫
舉例:Student,Demo
多個單詞:每個單詞首字母大寫
舉例:HelloWorld,StudentName
如果是接口的話,一般會在類名之前加上I代表,如:ICallBack
C:方法或者變量
一個單詞:所有字母小寫
舉例:name,main
多個單詞:從第二個單詞開始,每個單詞首字母大寫(駝峯命名法)
舉例:studentAge,showAllNames()
D:常量
全部大寫
一個單詞:大寫
舉例:PI
多個單詞:大寫,並用_隔開
舉例:STUDENT_MAX_AGE
-
註釋
單行註釋 : // 註釋內容
多行註釋 : /* 註釋內容 */
文檔註釋 : /** 註釋內容 ,可以用javadoc提取這些信息形成幫助文檔 */
-
Java中的變量類型
數據類型:
1> 基本數據類型 :數值型(整型、浮點型)、字符型、布爾型 。 注:String是字符串類型不屬於基本數據類型
1.1 字符型:
char :底層16位(2byte)表示65536個字符
1.2 浮點型:
小數默認爲double類型,用float接收小數的時候必須在小數後面加f/F
float :底層32位(4byte) 單精度浮點
double :底層64位(8byte) 雙精度浮點
1.3 整數類型,取值範圍超出會報錯
byte:底層佔8位(1個byte),取值範圍從-2的7次方 ~ 2的7次方-1
short:底層佔16位(2個byte),取值範圍從-2的15次方 ~2的15次方-1
int:底層佔32位(4個byte),取值範圍從-2的31次方 ~ 2的31次方-1
long:底層佔64位(8個byte),取值範圍從-2的63次方 ~ 2的63次方-1
十進制轉換(0的0次方爲0,其他數的0次方爲1):
— 十進制整數(0 ~ 9 ):12、0、-3
— 八進制整數 (0~7):以0開頭 如 :012
int num = 017; ==》分解計算法 1*8的1次方 + 7*8的0次方 = 8+7 = 15;
— 十六進制數(0~9,A~F,a~f):以0x/0X開頭 如:0x12
int num = 0x345; ==> 分解計算法 3*16的2次方 + 4*16的1次方+5*16的0次方 =768+ 64+5= 837
int num1 = 0x34556; ==> 分解計算法 3*16的4次方+4*16的3次方+5*16的2次方 + 5*16的1次方+6*16的0次方 =196608 +
16384 + 1280+ 80+6= 214358
— 二進制 (0 、1):以 ob/oB開頭
int num = ob111; ==> 分解計算法 1*2的2次方 + 1*2的1次方 + 1*2的0次方 = 4+2+1 = 7
2> 引用數據類型:類、接口、數組
-
Java中的關鍵字列表
訪問控制 |
private |
protected |
public |
||||||
類,方法和變量修飾符 |
abstract |
class |
extends |
final |
implements |
interface |
native |
new |
static |
strictfp |
synchronized |
transient |
volatile |
||||||
程序控制 |
break |
continue |
return |
do |
while |
if |
else |
for |
instanceof |
switch |
case |
default |
|||||||
錯誤處理 |
try |
cathc |
throw |
throws |
|||||
包相關 |
import |
package |
|||||||
基本類型 |
boolean |
byte |
char |
double |
float |
int |
long |
short |
null |
true |
false |
||||||||
變量引用 |
super |
this |
void |
||||||
保留字 |
goto |
const |
關鍵字含義:
1)訪問控制權限列表:
訪問權限 類 包 子類 其他包
public ∨ ∨ ∨ ∨ (對任何人都是可用的)
protect ∨ ∨ ∨ × (繼承的類可以訪問以及和private一樣的權限)
default ∨ ∨ × × (包訪問權限,即在整個包內均可被訪問)
private ∨ × × × (除類型創建者和類型的內部方法之外的任何人都不能訪問的元素)
- 2)修飾方法、類、屬性、變量關鍵字
關鍵字 意思 備註/使用
class 類 [public] class A{} A=類名 {}中內容是要實現的方法,類名與文件名一致
interface 接口 [public] interface B(){void getName(String name);}接口中只有方法體,沒有具體實現
abstract 聲明抽象 [public] abstract class C(){},不能創建對象,抽象類爲了繼承而存在,繼承它的類必須實現它包含的
抽象方法,不能用private去修飾,否則子類無法實現它的方法
implements 實現 [public] class A implements B{}類實現接口中方法,多個接口間用逗號分割
extends 繼承 [public] class A extends D{}一個類只允許繼承一個父類
new 創建新對象 A a = new A(); 創建一個屬於A的對象的引用,a存放與棧中,真實的A對象存放與堆中,調用對象
的屬性或方法則使用a.xx / a.xx()的方式
static 靜態的 在沒有創建對象的情況下來進行調用(方法/變量),static可以用來修飾類的成員方法、類的成員變
量,另外可以編寫static代碼塊來優化程序性能,類初次被加載的時候,會按照static塊的順序來執行每個static塊,並且只會執行
一次。
native 用於方法 該方法使用c語言實現
final 用於類/方法 final修飾的類不能有子類;修飾的方法不能被擴展;修飾的變量爲常量,不能被更改。
synchronized
volatile
-
運算符
1:算術運算符
+ 、-、*、/、%、++、--
區分/與%:
int i = 5/2 i = 2 取商,這裏0不能爲除數,如2/0系統會拋出ArithmeticException異常
int i=5%2 i= 1 取餘 ,有個規律就是:左邊小於右邊,結果爲左邊;左邊大於右邊,看餘數
區分i++與++i:
i++:先運算再爲本身加1
例:int i=5; int j = i++ + 5 ==> j=10;i=6
++i:先爲本身加1,再做運算
例:int i=5; int j = ++i + 5 ==> j=11;i=6
i-- 與 --i 的運算與上相同,只是把加變爲減
2:關係運算符(比較運算符,結果爲boolean類型,true/false)
>、<、>=、<=、==、!= ;引用類型用 equals
例一:對象不同,內容相同
String s1 = new String("java");
String s2 = new String("java");
s1 == s2 ==> false 對比2個對象的內存地址是否一致
s1.equals(s2) ==> true
例二:同一個對象相比較
String s1 = new String("aa");
String s2 = s1;
s1==s2 ==> true s2引用的是對象s1,因此對應的地址是相同的
s1.equals(s2) ==> true
例三:
String s1 = "aa";
String s2 ="aa";
s1==s2 ==> true 比對變量的值是否相同,一致則相同反之不同
s1.equals(s2) ==> true
3:布爾邏輯運算符
!、&、|、&&、^、||
&(邏輯與) 與&&(短路與)區別:
boolean a = true;
boolean b = false;
boolean c = a &b ; c = false; 左右相同則結果也是相同的,左右不同結果也不同,左右兩邊的條件都會運算
boolean d = b && a;d =false;左右中的結果只要有false則結果就爲false,如果左邊爲false則右邊不再運算;如果都爲true/false則結果爲true/false
|(邏輯或)與 ||(短路或)區別:
boolean a = true;
boolean b = false;
boolean c = a | b ; c = true;左右兩邊只要滿足一個條件,結果則爲true,如果都不滿足則結果爲false
boolean d = a || b;d = true; 左右兩邊只要滿足一個條件,結果則爲true,如果都不滿足則結果爲false;同樣如果左邊條件滿足,則右邊不做運算;左右運算結果一致,則結果與之相同
4:位運算符(二進制運算)
&、|、^、~、>>、<<、>>>
1> 運算符 "&"
表示按位與的運算符,運算法則爲:如兩個整數對應位都是1,則結果位纔是1否則爲0,進行運算時
需先將整數轉換爲二進制位,如下所示:
2> 運算符 "|"
表示按位或的運算符,運算法則與按位與的相反,兩個操作數對應位的結果都是0,則結果位纔是0,否則爲1,如
下所示:
3> 按位取反運算符 "~"
將操作數二進制中的1修改爲0,0修改爲1。如二進制數7表示爲:00000000 00000000 00000000 00000111
~7 取反後變爲:11111111 11111111 11111111 11111000
4> 按位異或運算符 “^”
當兩個操作數的二進制位表示相同(同時爲1/0)時,結果爲0 ,否則爲1
5> 位移運算符
<< 左移:將符號左邊的二進制操作數左移右邊操作數指定的位數,左移空的部分補“0”
>> 右移:帶符號右移,若左操作數爲正數,則高位補“0”,反之補“1”,操作數右移右邊操作數指定的位數
例:1>>3 ,將00000000 00000000 00000000 00000001這32位操作數向右移動3位得00000000 00000000 00000000
00000000
>>> 無符號右移:左操作數右移右邊操作數指定的位數,左空位補“0”
5:賦值運算符
= :將“=”右邊的值賦給左邊的變量。例如:
int a = 10; String s = "賦值" boolean isLogin = true
擴展運算符:
+=、-=、*=、/=
例:
int i=3;i+=5 等同於 i = i +5;
6:字符串連接運算符
+
-
表達式
表達式:符合一定語法規則的運算符和操作符的序列
表達式的值:運算結果
表達式的類型:表達式值的數據類型
根據運算符的不同,可以把表達式分爲幾類:
賦值表達式: int a = 3;
算術表達式:int a = 3+1;
關係表達式: 3 > 5
邏輯表達式 :((5>4)&&true、!false)
條件表達式:(b=100>89?a=ture:a=false) 三元運算符