日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Java基礎(chǔ)語(yǔ)法(總結(jié)篇)

 路人甲Java 2021-08-03

關(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ù)。

特征:

  • 完全小寫(xiě)
  • 在增強(qiáng)版記事本中(例如Notepad++)有特殊顏色

標(biāo)識(shí)符的概念與規(guī)則

  1.   什么是標(biāo)識(shí)符?

    凡是可以由自己命名的地方都稱(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’、'中
  2. 字符串常量:凡是用雙引號(hào)引起來(lái)的部分,叫做字符串常量。例如:"abc"、"Hello”、“123"
  3. 整數(shù)常量:直接寫(xiě)上的數(shù)字,沒(méi)有小數(shù)點(diǎn)。例如:100、200、0、-250

  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

注意事項(xiàng):

  • Java中的默認(rèn)類(lèi)型:整數(shù)類(lèi)型是 int 、浮點(diǎn)類(lèi)型是double
  • 數(shù)據(jù)范圍與字節(jié)數(shù)不一定相關(guān),例如float數(shù)據(jù)范圍比 long 更加廣泛,但是float是4字節(jié),1ong是8字節(jié)。
  • 浮點(diǎn)型可能只是一個(gè)近似值,并非精確的值。
  • 浮點(diǎn)數(shù)當(dāng)中默認(rèn)類(lèi)型是double。如果一定要使用float類(lèi)型,需要加上一個(gè)后綴F。
  • 字符串不是基本類(lèi)型,而是引用類(lèi)型
  • 如果是整數(shù),默認(rèn)為int類(lèi)型,如果一定要使用long類(lèi)型,需要加上一個(gè)后綴L。推薦使用大寫(xiě)字母后綴。

 

 變量: 程序運(yùn)行期間,內(nèi)容可以改變的量。

創(chuàng)建一個(gè)變量并且使用的格式:

 

  數(shù)據(jù)類(lèi)型  變量名稱(chēng); //創(chuàng)建了一個(gè)變量

  變量名稱(chēng) = 數(shù)據(jù)值;  //賦值,將右邊的數(shù)據(jù)值,賦值交給左邊的變量

一步到位的格式:
  數(shù)據(jù)類(lèi)型  變量名稱(chēng) = 數(shù)據(jù)值; //在創(chuàng)建一個(gè)變量的同時(shí),立刻放入指定的數(shù)據(jù)值

 注意事項(xiàng):

  1.如果創(chuàng)建多個(gè)變量,那么變量之間的名稱(chēng)不可以重復(fù)。

   2.對(duì)于float和long類(lèi)型來(lái)說(shuō),字母后綴F 和 L不要丟掉。

   3.沒(méi)有進(jìn)行賦值的變量,不能直接使用;一定要賦值之后,才能使用。

 

作用域 : 從定義變量的一行開(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ù) ;

注意事項(xiàng):

  1.強(qiáng)制類(lèi)型轉(zhuǎn)換一般不推薦使用,因?yàn)橛?strong>可能發(fā)生精度損失、數(shù)據(jù)溢出。

  2.byte / short / char這三種類(lèi)型都可以發(fā)生數(shù)學(xué)運(yùn)算,例如加法“+”.

  3.byte/short/char這三種類(lèi)型在運(yùn)算的時(shí)候,都會(huì)被首先向上提升成為int類(lèi)型,然后再計(jì)算。符合ASCII編碼表。 

例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
int result1 = num4 + num5;
System.out.println(result1);
//90

 

 運(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;
int y = 3;
int resultl = x / y ;
System.out.println(result1);//3
int result2 = x % y ;
System.out.println(result2);//余數(shù),模,1

 

 算術(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ì)算。
  char類(lèi)型字符,和int類(lèi)型數(shù)字,之間的對(duì)照關(guān)系表:ASCII、Unicode

  3.對(duì)于字符串String來(lái)說(shuō),+ 代表字符串連接操作。   () 小括號(hào)的優(yōu)先級(jí)最高

例3:
String str = "Java";

//
String + int --> String
System.out.println(str2+20);
//Java20

 

 

自增運(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);

 

a++ : 在變量值被使用之后才增加的值

++a : 在變量值在被使用之前增加它的值

- - 操作符的工作原理與此相同,只是它所執(zhí)行的是減值操作而非增值操作。

 賦值運(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)算符如下表所示:

注意事項(xiàng):

  1、  > 、 < 、 >= 、 <= 只支持左右兩邊操作數(shù)是數(shù)值類(lèi)型

  2、  == 、 != 兩邊的操作數(shù)既可以是數(shù)值類(lèi)型,也可以是引用類(lèi)型

 

邏輯運(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ùn)算符:只需要一個(gè)數(shù)據(jù)就可以進(jìn)行操作的運(yùn)算符。例如:取反!、自增++、自減--
  • 二元運(yùn)算符:需要兩個(gè)數(shù)據(jù)才可以進(jìn)行操作的運(yùn)算符。例如:加法+、賦值=
  • 三元運(yùn)算符:需要三個(gè)數(shù)據(jù)才可以進(jìn)行操作的運(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. ”

  

 注意 :

  1、 方法體放在一對(duì)大括號(hào)中,實(shí)現(xiàn)特定的操作

  2、 方法名主要在調(diào)用這個(gè)方法時(shí)使用,需要注意命名的規(guī)范,一般采用第一個(gè)單詞首字母小寫(xiě),其它單詞首字母大寫(xiě)的形式

 

  第二步,調(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)慕課!

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多