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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

java

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

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

特殊字符

\n 換行符

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

short 短整型 2

int 整型 4

long 長(zhǎng)整型 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ù)。

引用類(lèi)型(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á)式的類(lèi)型?

char?int?short?bety

break在switch的用法 case?后面

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

可以

case 是否可以相同?

不能

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

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

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

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

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

6.?while 與 do while

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

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

聲明一下沒(méi)有while-do這個(gè)語(yǔ)法!!!

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

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

F6 ?:單步執(zhí)行

8. 內(nèi)存

分堆和棧

9. 類(lèi)和對(duì)象

一. 類(lèi)即分類(lèi),抽象的,一種定義

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

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

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

10. 命名法

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

如: GirlFriend, MyHomeWorld, YourName ...

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

如: girlFriend, myHomeWorld, yourName

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

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

如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。

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

11.成員變量和局部變量

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

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

類(lèi)方法 :屬于類(lèi)的方法

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

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

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

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

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

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

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

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

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

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

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

12.?super的用法:

(1)super.屬性 ??訪問(wèn)父類(lèi)的屬性

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

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

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

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

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

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

子類(lèi)繼承父類(lèi)的屬性和方法

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

子類(lèi)不能繼承父類(lèi)私有的成員

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

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

14.?訪問(wèn)控制修飾符:

本類(lèi)

同包其他類(lèi)

子孫類(lèi)

跨包

Public(公共的)

Protected(受保護(hù)的)

X

默認(rèn)的(friendly)

同包子孫類(lèi)可訪問(wèn)

X

Private(私有的)

X

X

X

繼承的好處

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

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

15.?重寫(xiě)(覆蓋)

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

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

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

16.?final的用法

修飾類(lèi) 不可被繼承

修飾方法 不可被重寫(xiě)

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

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

a= new A(); //XXX

a.num = 1000;//√√√

17.?抽象類(lèi),抽象方法

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

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

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

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

抽象類(lèi)有普通的成員變量

抽象類(lèi)中可以有普通方法和抽象方法。

18.?多態(tài)

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

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

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

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

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

狗也可以叫做狗:

Dog dog = new Dog()

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

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

左邊的引用如果是父類(lèi)類(lèi)型,所訪問(wèn)的變量是父類(lèi)的

左邊的引用如果是子類(lèi)類(lèi)型,所訪問(wèn)的變量是子類(lèi)的

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

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

編譯期看左邊。

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

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

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

19.?轉(zhuǎn)型:

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

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

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

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

Fa fa = new Fa();

Son son = (Son)fa;

多態(tài)的好處:

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

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

父類(lèi)引用指向子類(lèi)對(duì)象,重寫(xiě),重載,可變長(zhǎng)參數(shù)的方法

public void show(Object... nums){

for (Object num : nums) {

System.out.println(num);

}

}

Object:所有類(lèi)的根類(lèi),所有的類(lèi)直接或間接繼承Object類(lèi)

20.?接口

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

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

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

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

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

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

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

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

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

*

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

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

*

* jdk1.8及以上

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

總結(jié)

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

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