關(guān)鍵字&標(biāo)識符關(guān)鍵字的概念與特征概念:Java關(guān)鍵字是事先定義好的對Java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或者表示程序的結(jié)構(gòu)等,關(guān)鍵字不能用作變量名、方法名、類名、包名和參數(shù)。 特征:
標(biāo)識符的概念與規(guī)則
凡是可以由自己命名的地方都稱為標(biāo)識符. 例: 項目名 ,包名 ,類名 .方法名 2. 命名規(guī)范 ① 不可使用java關(guān)鍵字和保留字,但是可以包含關(guān)鍵字和保留字. ?、?nbsp; 可以使用26個字母大小寫,數(shù)字0-9,$和_. ?、?nbsp; 可以使用數(shù)字,但不可放在首位. ④ 長度理論上沒有限制,但命名最好能反映出其作用,遵循”駝峰形式”,見命知意 ?、?nbsp; 包名全部小寫,類名全部大駝峰式 ⑥ 變量名、方法名首字母小寫,如果名稱由多個單詞組成,每個單詞的首字母都要大寫 ⑦ 常量(特指被 final 修飾的常量)名全部大寫,如果是單個字母,需要大寫,如果是多個單詞,需要用下劃線分開。并且都大寫 例:寫一個ajax的項目實例, 項目名:ajaxtest 包名:com.liu.ajax 類名:AjaxDemo 常量&變量常量的概念:在程序運行期間。固定不變的量。常量的分類: 1. 字符常量:凡是用單引號引起來的單個字符,就做字符常量。例如:、'b'、9’、'中 4. 浮點數(shù)常量:直接寫上的數(shù)字,有小數(shù)點。例如:2.5、-3.14、0.0 5. 布爾常量:只有兩種取值 true | false 基本數(shù)據(jù)類型:
類型 字節(jié)數(shù) 二進(jìn)制位數(shù)
byte (字節(jié)型) 1 8
short(短整型) char (字符型) 2 16
int (整型) float (單精度浮點數(shù)) 4 32
long (長整型) double(雙精度浮點數(shù)) 8 64
變量: 程序運行期間,內(nèi)容可以改變的量。創(chuàng)建一個變量并且使用的格式:
數(shù)據(jù)類型 變量名稱; //創(chuàng)建了一個變量 變量名稱 = 數(shù)據(jù)值; //賦值,將右邊的數(shù)據(jù)值,賦值交給左邊的變量 一步到位的格式:
作用域 : 從定義變量的一行開始,一直到直接所屬的大括號結(jié)束。
數(shù)據(jù)類型轉(zhuǎn)換當(dāng)效據(jù)類型不一樣時,就會發(fā)生數(shù)據(jù)類型轉(zhuǎn)換 自動類型轉(zhuǎn)換(隱式)1.特點:代碼不需要進(jìn)行特殊處理,自動完成 2.規(guī)則:數(shù)據(jù)范圍從小到大 long num1 = 100;
System.out.println(num1)
// 左邊是long類型,右邊是默認(rèn)的int類型,左右不一樣 // int-->long,符合了數(shù)據(jù)范圍從小到大的要求
強制類型轉(zhuǎn)換(顯式)1.特點:代碼需要進(jìn)行特殊的格式處理,不能自動完成 2.格式:范圍小的類型范圍小的變量名=(范圍小的類型)原本范圍大的數(shù)據(jù)
int num=(int)100L;
System.out.print1n(num);
//左邊是int類型,右邊是long類型,不一樣 //格式范圍小的類型 范圍小的變量名 =(范圍小的類型) 原本范圍大的數(shù)據(jù) ;
例3:
byte num4 = 40;//注意!右側(cè)的數(shù)值大小不能超過左側(cè)的類型范圍
byte num5 = 50;
//當(dāng)byte + byte,會先向上提升稱為int類型,所以結(jié)果就是--> int + int ,返回類型也應(yīng)該是int
運算符 :進(jìn)行特定操作的符號。例如:+表達(dá)式:用運算符連起來的式子叫做表達(dá)式。例如:20+5 。 又例如:a+b 四則運算:加+ 減 - 乘 * 除 /
取模(取余數(shù)):%只有對于整數(shù)的除法來說,取模運算符才有余數(shù)的意義。
int x = 10;
算術(shù)運算符
四則運算當(dāng)中的加號“+”有常見的三種用法:1.對于數(shù)值來說,+ 就是加法。 2.對于字符char類型來說,在計算之前,char會被提升成為int,然后再計算。 3.對于字符串String來說,+ 代表字符串連接操作。 () 小括號的優(yōu)先級最高 例3:
自增運算符:++ 例如: a++; 先使用a值,再執(zhí)行a = a + 1 ;
int a = 1;
int b = 2;
b = a++; //在這一步,a的值還沒有改變,所以是將a=1的值賦給了b,然后再進(jìn)行改變。
System.out.println("a:"+a); //a:2
System.out.println("b:"+b); //b:1
自減運算符:- - 例如: ++a; 先執(zhí)行a = a + 1 ; 再使用a值。
int a = 1;
int b = 2;
b = --a;
System.out.println("a:"+a);
System.out.println("b:"+b);
賦值運算符賦值運算符是指為變量或常量指定數(shù)值的符號。如可以使用 “=” 將右邊的表達(dá)式結(jié)果賦給左邊的操作數(shù)。 Java 支持的常用賦值運算符,如下表所示:
比較運算符比較運算符用于判斷兩個數(shù)據(jù)的大小,例如:大于、等于、不等于。比較的結(jié)果是一個布爾值( true 或 false )。 Java 中常用的比較運算符如下表所示:
邏輯運算符主要用于進(jìn)行邏輯運算,連接兩個Boolean值,代表兩個條件。 Java 中常用的邏輯運算符如下表所示: 我們可以從“投票選舉”的角度理解邏輯運算符: 1、 與:要求所有人都投票同意,才能通過某議題 2、 或:只要求一個人投票同意就可以通過某議題 3、 非:某人原本投票同意,通過非運算符,可以使其投票無效 4、 異或:有且只能有一個人投票同意,才可以通過某議題
當(dāng)使用邏輯運算符時,我們會遇到一種很有趣的 “短路” 現(xiàn)象 >> 如果根據(jù)左邊已經(jīng)可以判斷得到最終結(jié)果,那么右邊的代碼將不再執(zhí)行,從而節(jié)省一定的性能。 譬如:( 1 > 2 ) && ( 1 < 3 ) 中,如果能確定左邊 1 > 2 運行結(jié)果為 false , 則系統(tǒng)就認(rèn)為已經(jīng)沒有必要執(zhí)行右側(cè)的 1 < 3 啦。
條件運算符條件運算符( ? : )也稱為 “三元運算符”。
語法形式:布爾表達(dá)式 ? 表達(dá)式1 :表達(dá)式2運算過程:如果布爾表達(dá)式的值為 true ,則返回 表達(dá)式1 的值,否則返回 表達(dá)式2 的值 例如 :
因為,表達(dá)式 8>5 的值為 true ,所以,返回: 8大于5
方法 ? ?所謂方法,就是用來解決一類問題的代碼的有序組合,是一個功能模塊。一般情況下,定義一個方法的語法是: 訪問修飾符 返回值類型 方法名(參數(shù)列表){ 方法體 } 其中: 1、 訪問修飾符:方法允許被訪問的權(quán)限范圍, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示該方法可以被其他任何代碼調(diào)用 2、 返回值類型:方法返回值的類型,如果方法不返回任何值,則返回值類型指定為 void ; 如果方法具有返回值,則需要指定返回值的類型,并且在方法體中使用 return 語句返回值 3、 方法名:定義的方法的名字,必須使用合法的標(biāo)識符 4、 參數(shù)列表:傳遞給方法的參數(shù)列表,參數(shù)可以有多個,多個參數(shù)間以逗號隔開,每個參數(shù)由參數(shù)類型和參數(shù)名組成,以空格隔開
根據(jù)方法是否帶參、是否帶返回值,可將方法分為四類:
無參無返回值方法如果方法不包含參數(shù),且沒有返回值,我們稱為無參無返回值的方法。 方法的使用分兩步: 第一步,定義方法 例如:下面代碼定義了一個方法名為 show ,沒有參數(shù),且沒有返回值的方法,執(zhí)行的操作為輸出 “ welcome to imooc. ”
第二步,調(diào)用方法 當(dāng)需要調(diào)用方法執(zhí)行某個操作時,可以先創(chuàng)建類的對象,然后通過 對象名.方法名(); 來實現(xiàn) 例如:在下面的代碼中,我們創(chuàng)建了一個名為 hello 的對象,然后通過調(diào)用該對象的 show( ) 方法輸出信息
運行結(jié)果為: welcome to imooc.
無參帶返回值方法如果方法不包含參數(shù),但有返回值,我們稱為無參帶返回值的方法。 例如:下面的代碼,定義了一個方法名為 calSum ,無參數(shù),但返回值為 int 類型的方法,執(zhí)行的操作為計算兩數(shù)之和,并返回結(jié)果
在 calSum( ) 方法中,返回值類型為 int 類型,因此在方法體中必須使用 return 返回一個整數(shù)值 調(diào)用帶返回值的方法時需要注意,由于方法執(zhí)行后會返回一個結(jié)果,因此在調(diào)用帶返回值方法時一般都會接收其返回值并進(jìn)行處理。如下:第6行
運行結(jié)果為: 兩數(shù)之和為:17
不容忽視的“小陷阱”:1、 如果方法的返回類型為 void ,則方法中不能使用 return 返回值! 2、 方法的返回值最多只能有一個,不能返回多個值
3、 方法返回值的類型必須兼容,例如,如果返回值類型為 int ,則不能返回 String 型值
帶參無返回值方法有時方法的執(zhí)行需要依賴于某些條件,換句話說,要想通過方法完成特定的功能,需要為其提供額外的信息才行。 例如,現(xiàn)實生活中電飯鍋可以實現(xiàn)“煮飯”的功能,但前提是我們必須提供食材,如果我們什么都不提供,那就真是的“巧婦難為無米之炊”了。 我們可以通過在方法中加入?yún)?shù)列表接收外部傳入的數(shù)據(jù)信息,參數(shù)可以是任意的基本類型數(shù)據(jù)或引用類型數(shù)據(jù)。
我們先來看一個帶參數(shù),但沒有返回值的方法:
上面的代碼定義了一個 show 方法,帶有一個參數(shù) name ,實現(xiàn)輸出歡迎消息。
調(diào)用帶參方法與調(diào)用無參方法的語法類似,但在調(diào)用時必須傳入實際的參數(shù)值
例如:
運行結(jié)果為: 歡迎您,愛慕課! 很多時候,我們把定義方法時的參數(shù)稱為形參,目的是用來定義方法 需要傳入?yún)?shù)的個數(shù)和類型;把調(diào)用方法時的參數(shù)稱為實參,是傳遞給方法真正被處理的值。
一定不可忽視的問題: 1、 調(diào)用帶參方法時,必須保證實參的數(shù)量、類型、順序與形參一一對應(yīng)
2、 調(diào)用方法時,實參不需要指定數(shù)據(jù)類型,如
3、 方法的參數(shù)可以是基本數(shù)據(jù)類型,如 int、double 等,也可以是引用數(shù)據(jù)類型,如 String、數(shù)組等
第10行,Array.toString()方法將數(shù)組轉(zhuǎn)換為字符串輸出
4、 當(dāng)方法參數(shù)有多個時,多個參數(shù)間以逗號分隔 帶參帶返回值方法如果方法既包含參數(shù),又帶有返回值,我們稱為帶參帶返回值的方法。 例如: 下面的代碼,定義了一個 show 方法,帶有一個參數(shù) name ,方法執(zhí)行后返回一個 String 類型的結(jié)果
調(diào)用帶參帶返回值的方法:
運行結(jié)果為: 歡迎您,愛慕課!
|
|