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