日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java的语法知识_Java语法知识点

發(fā)布時(shí)間:2023/12/15 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的语法知识_Java语法知识点 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

特殊字符

\n 換行符

\t 制表符8個(gè)基本數(shù)據(jù)類型byte 字節(jié)型 1

short 短整型 2

int 整型 4

long 長整型 8

char 字符型 2

boolean 布爾型 1

float 浮點(diǎn)型 4

double 雙精度浮點(diǎn)型 8自動(dòng)轉(zhuǎn)換long a = 100; 100(int) ---- long強(qiáng)制轉(zhuǎn)換int i = 10;byte b = (byte)i;

強(qiáng)制轉(zhuǎn)換可能會(huì)丟失數(shù)據(jù)。

引用類型(String 數(shù)組 。。。對(duì)象)三目運(yùn)算int a = 5>4?10:100;//a=10表達(dá)式?值1:值2

表達(dá)式為true 取值1否則取值2

If

if的 {} 可以省略,如果省略 ,if下的第一句是屬于if建議不省略if(條件){//代碼塊}

條件結(jié)果必須是boolean結(jié)果

結(jié)果為true,則執(zhí)行代碼塊

注意:js中if的條件 非數(shù)字0即真

5.?Switch

Switch表達(dá)式的類型?

char?int?short?bety

break在switch的用法 case?后面

default 的位置?是否可以省略任何位置可以都可以?

可以

case 是否可以相同?

不能

switch和if的使用場合(區(qū)別)?

break:用在switch:跳出switch,防止穿透

用在循環(huán):跳出當(dāng)前循環(huán)

continue:結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)

return語句:return語句執(zhí)行后,該方法后面的代碼都不會(huì)再執(zhí)行。

6.?while 與 do while

while:先判斷條件再執(zhí)行。

do-while:先執(zhí)行一次在判斷。

聲明一下沒有while-do這個(gè)語法!!!

7.?代碼調(diào)試

打斷點(diǎn):斷點(diǎn)位置是即將要執(zhí)行的代碼。

F6 ?:單步執(zhí)行

8. 內(nèi)存

分堆和棧

9. 類和對(duì)象

一. 類即分類,抽象的,一種定義

二. 對(duì)象是客觀存在的,占據(jù)空間的

類是一群具有相同特征(屬性)和行為(方法)的抽象定義

對(duì)象是類的具體化(實(shí)例化new xxx)

10. 命名法

1. 帕斯卡命名法,每個(gè)單詞首字母大寫,java一般應(yīng)用在類名

如: GirlFriend, MyHomeWorld, YourName ...

2. 駝峰命名法,第一個(gè)單詞首字母小寫,后面單詞每個(gè)首字母大寫

如: girlFriend, myHomeWorld, yourName

java一般應(yīng)用在屬性和方法上

3. 匈牙利命名法,每個(gè)字母都大寫,單詞與單詞之間使用下劃線隔開

如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。

java一般用在靜態(tài)常量上,其他更多應(yīng)用在數(shù)據(jù)庫字段上。

11.成員變量和局部變量

實(shí)例方法:屬于對(duì)象的方法

不用static修飾,通過對(duì)象名.方法名()調(diào)用

類方法 :屬于類的方法

用 static修飾(也叫靜態(tài)方法),可以直接通過類名.方法名() 調(diào)用,也可以

通過對(duì)象名.方法名() 調(diào)用

static : 靜態(tài)的,在加載類時(shí)會(huì)加載

修飾成員(成員變量,成員方法)

修飾方法,該方法是靜態(tài)方法(類方法) ,可以直接通過類名調(diào)用

靜態(tài)方法里不能使用非靜態(tài)變量、

修飾變量,該變量是靜態(tài)的,所有對(duì)象共享(該變量只有一份)

成員變量和局部變量重名時(shí),優(yōu)先使用局部變量

成員變量有默認(rèn)值,局部變量沒有默認(rèn)值,局部變量使用前必須賦初始值

成員變量的作用域:在整個(gè)類中有效

局部變量作用域:只在定義該變量的{}內(nèi)有效。

12.?super的用法:

(1)super.屬性 ??訪問父類的屬性

(2)super.方法(..) ?調(diào)用父類的方法

(3)super(…) ??調(diào)用父類的構(gòu)造方法

在子類構(gòu)造中用super(..)調(diào)用父類的構(gòu)造,super(..)必須放在第一句,所以,this(..)和super(..)不能在同一個(gè)構(gòu)造中出現(xiàn)。

在子類的構(gòu)造中的第一句默認(rèn)有個(gè)隱式的super(),表示調(diào)用父類的無參構(gòu)造,所以在new子類對(duì)象時(shí),會(huì)先執(zhí)行父類的構(gòu)造。

當(dāng)父類沒有無參構(gòu)造時(shí),子類必須添加構(gòu)造,并且在構(gòu)造的第一句調(diào)用父類的有參構(gòu)造。

13.?繼承: ??extends(關(guān)鍵字)

子類繼承父類的屬性和方法

一個(gè)類只能繼承一個(gè)父類(單繼承)

子類不能繼承父類私有的成員

子類不能繼承父類的構(gòu)造

子類與父類不在同包,使用默認(rèn)訪問權(quán)限的成員也不能被繼承

14.?訪問控制修飾符:

本類

同包其他類

子孫類

跨包

Public(公共的)

Protected(受保護(hù)的)

X

默認(rèn)的(friendly)

同包子孫類可訪問

X

Private(私有的)

X

X

X

繼承的好處

提高代碼的復(fù)用性

為多態(tài)提供基礎(chǔ)

15.?重寫(覆蓋)

當(dāng)父類的方法滿足不了子類需求時(shí),子類會(huì)重新寫一個(gè)與父類方法名,參數(shù)列表一樣的方法。

重寫的具體規(guī)則:

方法名一樣,參數(shù)列表一樣,返回值類型一樣(子類方法的返回類型可以是父類方法返回類型的子類),修飾符不比父類的修飾符嚴(yán)格(拋出的異常不比父類的大)

16.?final的用法

修飾類 不可被繼承

修飾方法 不可被重寫

修飾變量 該變量是常量,不可改變

Final 修飾引用類型時(shí),不能改變地址,但是可以改變地址上的內(nèi)容final A a = newA();

a= new A(); //XXX

a.num = 1000;//√√√

17.?抽象類,抽象方法

當(dāng)某個(gè)方法的方法體不清楚時(shí),干脆把該方法的方法體刪掉,加上abstract關(guān)鍵字修飾,該方法是一個(gè)抽象方法。該方法所在的類應(yīng)該定義成抽象類。

當(dāng)普通類繼承抽象類時(shí),普通類必須重寫抽象類里的抽象方法。

抽象類不能實(shí)例化(不能new 對(duì)象)

抽象類有構(gòu)造方法

抽象類有普通的成員變量

抽象類中可以有普通方法和抽象方法。

18.?多態(tài)

一種事物的多種表現(xiàn)形態(tài)。

狗可以叫做動(dòng)物:

Animal ani = new Dog();//父類引用指向子類對(duì)象

ani是一個(gè)引用(地址) ,引用是父類類型

new Dog() new的是子類的對(duì)象

狗也可以叫做狗:

Dog dog = new Dog()

多態(tài)時(shí)

普通成員變量: 編譯期和運(yùn)行期都看=左邊的引用是什么類型

左邊的引用如果是父類類型,所訪問的變量是父類的

左邊的引用如果是子類類型,所訪問的變量是子類的

普通成員方法: 運(yùn)行期看=右邊new的是什么類型的對(duì)象

如果new的是哪個(gè)類的對(duì)象,調(diào)用的就是哪個(gè)類的方法

編譯期看左邊。

靜態(tài)方法:編譯期運(yùn)行期都看=左邊

左邊是什么類型,調(diào)用的就是該類的方法。

靜態(tài)成員變量:編譯期和運(yùn)行期都看=左邊

19.?轉(zhuǎn)型:

Dog dog1 = (Dog)pet;//向下轉(zhuǎn)型(將父類引用轉(zhuǎn)化為子類的引用)

//編譯正確,執(zhí)行拋出異常ClassCastException

// Penguin penguin = (Penguin)pet;//

//編譯正確,執(zhí)行拋出異常ClassCastException

Fa fa = new Fa();

Son son = (Son)fa;

多態(tài)的好處:

提高程序的擴(kuò)展性,可維護(hù)性。

多態(tài)的表現(xiàn)形式:

父類引用指向子類對(duì)象,重寫,重載,可變長參數(shù)的方法

public void show(Object... nums){

for (Object num : nums) {

System.out.println(num);

}

}

Object:所有類的根類,所有的類直接或間接繼承Object類

20.?接口

接口:特殊的抽象類,也可理解為一種能力,一種規(guī)范(約束)

一種規(guī)范(約束):約束所有的實(shí)現(xiàn)類都必須實(shí)現(xiàn)接口中的抽象方法

一種能力:想要具備某種能力,只要實(shí)現(xiàn)有該能力的接口。/*** 接口中的變量都是靜態(tài)常量

* 在接口中定義一個(gè)變量,默認(rèn)會(huì)加上public final static

* 接口中的方法都是抽象方法(jdk1.8之前)

* 定義的方法默認(rèn)會(huì)加上public abstract

* 類和類可以是繼承extends關(guān)系,單繼承

* 類和接口 是類 實(shí)現(xiàn)implements接口,可多實(shí)現(xiàn)

* 接口和接口 接口繼承接口,并且可以多繼承接口。

*

* 普通類實(shí)現(xiàn)接口必須實(shí)現(xiàn)接口中的所有抽象方法

* 抽象類實(shí)現(xiàn)接口可以不用實(shí)現(xiàn)接口中的方法

*

* jdk1.8及以上

* 接口中可以有static 或default修飾的普通方法*/

總結(jié)

以上是生活随笔為你收集整理的java的语法知识_Java语法知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。