java基礎(chǔ)視頻等多個(gè)文件_第1頁(yè)
java基礎(chǔ)視頻等多個(gè)文件_第2頁(yè)
java基礎(chǔ)視頻等多個(gè)文件_第3頁(yè)
java基礎(chǔ)視頻等多個(gè)文件_第4頁(yè)
java基礎(chǔ)視頻等多個(gè)文件_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

學(xué)習(xí)目標(biāo)程序運(yùn)行流程順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)break,continue關(guān)鍵字方法數(shù)組傳智播客教育順序結(jié)構(gòu)如果代碼里沒(méi)有流程控制,程序是至上而下一行一行執(zhí)行的,一條語(yǔ)句執(zhí)行完之后繼續(xù)執(zhí)行下一條語(yǔ)句,直到程序的最后。傳智播客教育程序流程控制每一種高級(jí)語(yǔ)言都會(huì)有語(yǔ)句,讓計(jì)算機(jī)做一些更為復(fù)雜的事情,只不過(guò)表現(xiàn)形式不同。分支結(jié)構(gòu)(條件結(jié)構(gòu))循環(huán)結(jié)構(gòu)控制循環(huán)結(jié)構(gòu)傳智播客教育條件語(yǔ)句之if三種格式:if(條件表達(dá)式){執(zhí)行語(yǔ)句;}if(條件表達(dá)式){執(zhí)行語(yǔ)句;}else{執(zhí)行語(yǔ)句;}3.

if(條件表達(dá)式){執(zhí)行語(yǔ)句;}else

if(條件表達(dá)式){執(zhí)行語(yǔ)句;}……else{執(zhí)行語(yǔ)句;}傳智播客教育條件語(yǔ)句之switch格式:switch(表達(dá)式){case

表達(dá)式可能的結(jié)果值1:執(zhí)行語(yǔ)句;break;case

表達(dá)式可能的結(jié)果值2:執(zhí)行語(yǔ)句;break;...default:執(zhí)行語(yǔ)句;break;//一般不寫}傳智播客教育switch語(yǔ)句特點(diǎn)switch語(yǔ)句選擇的類型只有四種:byte、short、int、char。(java5之前)。還支持

enum(jdk5),

String(jdk7);case之間與default沒(méi)有順序。先執(zhí)行第一個(gè)case,都沒(méi)有匹配的case值執(zhí)行default。結(jié)束switch語(yǔ)句的兩種情況:遇到break,switch語(yǔ)句執(zhí)行結(jié)束。如果匹配的case或者default沒(méi)有對(duì)應(yīng)的break,那么程序會(huì)從第一次匹配的case語(yǔ)句開(kāi)始繼續(xù)向下執(zhí)行,運(yùn)行可以執(zhí)行的語(yǔ)句,直到遇到break或者switch結(jié)束為止。傳智播客教育循環(huán)結(jié)構(gòu)話說(shuō) 師徒四人還在21世紀(jì)繼續(xù)闖關(guān),一天:????師徒四人來(lái)到數(shù)字王國(guó):第一關(guān):求100以內(nèi)正整數(shù)和?于是, 算

1到

25的和;算26到50的和;八戒算51到75的和;沙僧算76到100的和。第二關(guān):求1000以內(nèi)正整數(shù)和?于是, 算

1

250的和; 算251到500的和;八戒算501到750的和;沙僧算751到1000的和。第三關(guān):求10000以內(nèi)正整數(shù)和?于是, 算

1

2500的和;

算2501到5000的和;八戒算5001到7500的和;沙僧算7501到10000的和。第四關(guān):求100000以內(nèi)正整數(shù)和?

ブプヘベペホボポ。。。。。傳智播客教育三大循環(huán)結(jié)構(gòu)用于處理需要重復(fù)執(zhí)行的操作;根據(jù)判斷條件的成立與否,決定程序段落的執(zhí)行次數(shù),而這個(gè)程序段落 稱為循環(huán)體;while:事先不需要知道循環(huán)執(zhí)行多少次;do while:同上,只是至少要執(zhí)行一次(先做,后判斷);for:需要知道循環(huán)次數(shù);傳智播客教育循環(huán)結(jié)構(gòu)(while

&

do

while)while語(yǔ)句格式:while(條件表達(dá)式值為true){執(zhí)行語(yǔ)句;}do

while語(yǔ)句格式:do{執(zhí)行語(yǔ)句;}while(條件表達(dá)式值為true);do

while特點(diǎn)是無(wú)論條件是否滿足,循環(huán)體至少被執(zhí)行一次。循環(huán)里的條件表達(dá)式不能直接寫false或直接寫結(jié)果是false的表達(dá)式,不過(guò)可以使用變量來(lái)傳遞false值;傳智播客教育循環(huán)結(jié)構(gòu)(for)格式:for(初始化表達(dá)式(1);循環(huán)條件表達(dá)式(2);循環(huán)后的操作表達(dá)式(3)){執(zhí)行語(yǔ)句;(4)}執(zhí)行順序:(1)→(2)→(4)→(3)→(2)→(4)→(3)注:1, for里面的3個(gè)表達(dá)式運(yùn)行的順序,初始化表達(dá)式只讀一次,判斷循環(huán)條件,為真就執(zhí)行循環(huán)體,然后再執(zhí)行循環(huán)后的操作表達(dá)式,接著繼續(xù)判斷循環(huán)條件,重復(fù)找個(gè)過(guò)程,直到條件不滿足為止。2, while與for可以互換,區(qū)別在于for為了循環(huán)而定義的變量在for循環(huán)結(jié)束就在內(nèi)存中 。而while循環(huán)使用的變量在循環(huán)結(jié)束后還可以繼續(xù)使用。3, 最簡(jiǎn)單無(wú)限循環(huán)格式:while(true),for(;;),無(wú)限循環(huán)存在的原因是并不知道循環(huán)多少次,而是根據(jù)某些條件,來(lái)控制循環(huán)。傳智播客教育循環(huán)用三種循環(huán)分別求出:1!+ 2!+...+10!階乘和。求出100以內(nèi)3的倍數(shù)的數(shù)字和個(gè)數(shù);求出100以內(nèi)前5個(gè)3的倍數(shù)的數(shù)字;100 到200之間所有奇數(shù)的和;傳智播客教育嵌套循環(huán)嵌套循環(huán):循環(huán)里套循環(huán)假設(shè)外循環(huán)的循環(huán)次數(shù)是m次,內(nèi)循環(huán)的循環(huán)次數(shù)是n次,那么內(nèi)層循環(huán)的循環(huán)次數(shù)需要m*

n次。傳智播客教育流程控制1break語(yǔ)句、

continue語(yǔ)句;break:終止該層循環(huán);

continue:跳過(guò)該層循環(huán)注:①:若這兩個(gè)語(yǔ)句離開(kāi)應(yīng)用范圍,存在是沒(méi)有意義的。②:這個(gè)兩個(gè)語(yǔ)句后面都能有語(yǔ)句,因?yàn)閳?zhí)行不到。③:continue語(yǔ)句是跳過(guò)本次循環(huán),繼續(xù)下次循環(huán)。④:

的出現(xiàn),可以讓這兩個(gè)語(yǔ)句作用于指定的循環(huán)。傳智播客教育流程控制2使用循環(huán)

;?

在多層嵌套循環(huán)中,終止/跳過(guò)?

break<

>或continue<標(biāo)記的外層循環(huán)的執(zhí)行;>;使用return結(jié)束循環(huán)語(yǔ)句所在的方法;傳智播客教育方法(Method)方法含義和定義格式方法重載及使用使用return結(jié)束一個(gè)方法的語(yǔ)言:方法等價(jià)于函數(shù)傳智播客教育方法(Method)方法?一段可重復(fù)使用的代碼段;程序中完成獨(dú)立功能的一段代碼的集合。Java中方法的格式:[修飾符]返回值類型方法名([參數(shù)類型形式參數(shù)1,參數(shù)類型形式參數(shù)2,……]){執(zhí)行語(yǔ)句; [return

返回值;]}參數(shù)列表(參數(shù)的類型,參數(shù)的個(gè)數(shù),參數(shù)的順序)傳智播客教育方法(Method)的形參列表形式參數(shù):在方法被調(diào)用時(shí)用于接收外界輸入的數(shù)據(jù)。實(shí)參:調(diào)用方法時(shí)實(shí)際傳給方法的數(shù)據(jù)。返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)。返回值類型:事先約定的返回值的數(shù)據(jù)類型,如無(wú)返回值,必須給出返回類型

void。方法簽名:方法名和方法的參數(shù)列表(能區(qū)別方法);java語(yǔ)言中調(diào)用方法:對(duì)象名.方法名(實(shí)參列表)。實(shí)參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法匹配。return語(yǔ)句終止方法的運(yùn)行并指定要返回的數(shù)據(jù)。傳智播客教育方法特點(diǎn)它可以實(shí)現(xiàn)獨(dú)立的功能;必須定義在類里面;它只有被調(diào)用才會(huì)執(zhí)行;它可以被重復(fù)使用;方法結(jié)束后方法里的對(duì)象失去;如何定義一個(gè)功能,并通過(guò)方法體現(xiàn)出來(lái):①明確該功能運(yùn)算后的結(jié)果.明確返回值類型;②明確在實(shí)現(xiàn)該功能過(guò)程中是否有未知內(nèi)容參與運(yùn)算,確定參數(shù)列表;傳智播客教育局部變量的初始化和內(nèi)存中的運(yùn)行機(jī)制局部變量必須先初始化再使用,這里的初始化其實(shí)就是在為其分配內(nèi)存;局部變量總是保存在其所在方法的棧內(nèi)存里面,若:基本類型:變量的值直接保存在變量的內(nèi)存中;類型:存放該變量實(shí)際

對(duì)象或數(shù)組的地址;棧里面的變量無(wú)須系統(tǒng)去

回收,棧內(nèi)存的變量會(huì)隨著方法或代碼塊的運(yùn)行結(jié)束而結(jié)束;傳智播客教育編程規(guī)范說(shuō)明方法名不能使用關(guān)鍵字和保留字;回憶類名的定義規(guī)范:單詞的首字母大寫,采用駝峰式;由有實(shí)際意義的名詞或名詞短語(yǔ)構(gòu)成:StudentScore,如:Student,方法名規(guī)范:第一個(gè)單詞的首字母小寫,采用駝峰式;由有實(shí)際意義的動(dòng)詞或動(dòng)詞短語(yǔ):如:playGame,grow傳智播客教育方法練習(xí)假設(shè)在某個(gè)描述三人 的類中有一個(gè)int的變量player。寫一個(gè)返回為String值類型的方法getPlayerName。player

的值分別是1,2,3或者其他值時(shí),該方法返回“大明”,“二明”,“ ”,“我沒(méi)有這個(gè)孩子”。寫一個(gè)發(fā) 功能的方法傳智播客教育方法的重載(Overload)概念:在同一個(gè)類中,允許存在一個(gè)以上的同名方法,只要它們的參數(shù)個(gè)數(shù)或者參數(shù)類型或參數(shù)順序不同即可。存在的原因:了一個(gè)對(duì)象的同一類方法由于參數(shù)不同所造成的差異。特點(diǎn):與返回值類型無(wú)關(guān),只看參數(shù)列表。法則:兩同,一不同:同一個(gè)類中方法名相同;參數(shù)列表不同:(參數(shù)個(gè)數(shù),參數(shù)的類型,參數(shù)順序)。傳智播客教育傳智播客教育int

show(int

x,

char

y,boolean

z){}//不是判斷方法重載void

show(int

a,char

b,boolean

c){}a.b.c.d.void

show(char

b,

int

a,

boolean

c){}

//是int

show(boolean

a,char

c

,int

b){}

//是void

show(int

a,char

b,double

c){} //是void

show(int

x,char

y,boolean

z){}

//不是e.//是

show(int

x,double

y){}數(shù)組數(shù)組的 、初始化和內(nèi)存分配數(shù)組常見(jiàn)操作傳智播客教育數(shù)組概念:同一種類型數(shù)據(jù)的集合;數(shù)組的好處:數(shù)組里的每個(gè)元素都有依次遞增,方便操作這些元素;,從0開(kāi)始;使用Java數(shù)組:必須先 數(shù)組,再給該數(shù)組分配內(nèi)存;傳智播客教育一維數(shù)組的age151617?java語(yǔ)言

數(shù)組的時(shí)候不能指定其長(zhǎng)度(元素的個(gè)數(shù))int

a[5];

//一維數(shù)組:可以理解為一列多行、類型相同的數(shù)據(jù),其中每個(gè)數(shù)據(jù)被稱為數(shù)組元素;一維數(shù)組的

方式:type

varName[];

type[]

varName;(

)int[]

age; String[]

name;double[]

weight;可以把

type[]double

height[];是一種數(shù)據(jù)類型傳智播客教育一維數(shù)組的初始化Java中的數(shù)組必先初始化才可以使用,所謂初始化就是為數(shù)組的數(shù)組元素分配內(nèi)存,并為每個(gè)數(shù)組元素賦值;數(shù)組初始化的兩種方式:靜態(tài)初始化:初始化時(shí)由

自己指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定需要的數(shù)組長(zhǎng)度;格式:數(shù)組名=new數(shù)組類型[]{元素1,元素2,元素3...元素n};簡(jiǎn)化語(yǔ)法:數(shù)組名={元素1,元素2,元素3...元素n};動(dòng)態(tài)初始化:初始化時(shí)由 指定數(shù)組的長(zhǎng)度,由系統(tǒng)為數(shù)組元素分配初始值;格式:數(shù)組名=new數(shù)組類型[數(shù)組長(zhǎng)度];?不能靜態(tài)和動(dòng)態(tài)初始化同時(shí)使用:也就是說(shuō)不能同時(shí)指定數(shù)組的長(zhǎng)度和元素;數(shù)組的長(zhǎng)度一旦確定,就不能改變,也就數(shù)組是定長(zhǎng)的;傳智播客教育使用數(shù)組Java語(yǔ)言的數(shù)組索引是從0開(kāi)始的,也就是說(shuō)數(shù)組里的第一個(gè)元素的索引是0,第二個(gè)元素的索引是1,依次可以類推。常見(jiàn)操作:給數(shù)組元素賦值數(shù)組名[索引]=數(shù)組類型的值;//length是數(shù)組的屬性數(shù)組元素?cái)?shù)組類型變量=數(shù)組名[索引];得到數(shù)組的長(zhǎng)度int

len=數(shù)組名.length;遍歷數(shù)組數(shù)組元素的索引范圍?傳智播客教育數(shù)組操作常見(jiàn)問(wèn)題數(shù)組腳標(biāo)越界異常(ArrayIndexOutOfBoundsException)空

異常(NullPointerException)//操作 類型的時(shí)候int[]arr=new

int[5];System.out.println(arr[5]);//有腳標(biāo)為5的元素嗎?String[]

name

=

{"",""};System.out.prinltn(name[2]);name[2].length();

//length方法是String類里面的方法傳智播客教育數(shù)組在內(nèi)存中的分析1int[]

age;age

=

new

int[3];for(int

i=0;i<age.length;i++){age[i]

=

i+1;}棧堆a(bǔ)ge

age堆000

age堆123傳智播客教育數(shù)組在內(nèi)存中的分析2int[]

arr1=

new

int[4];int[]

arr2=

{1,2,3};System.out.println("arr1長(zhǎng)度="+arr1.length);System.out.println("arr2長(zhǎng)度="+arr2.length);arr1=arr2;//???System.out.println("arr1長(zhǎng)度="+arr1.length);棧

arr1arr2堆000

01

23棧arr1arr2堆000

0123×失去,等待回收器(GC)來(lái)回收傳智播客教育內(nèi)存特點(diǎn)開(kāi)辟不同內(nèi)存空間是為了對(duì)每一片內(nèi)存中的數(shù)據(jù)都有不同的處理方式,提高效率。棧內(nèi)存的特點(diǎn):局部變量,空間不用時(shí)自動(dòng) 內(nèi)存。堆內(nèi)存的特點(diǎn):1.數(shù)組和對(duì)象,通過(guò)new關(guān)鍵字建立的實(shí)體都存放在堆內(nèi)存當(dāng)中。實(shí)體都有一個(gè)內(nèi)存地址值。堆內(nèi)存中的變量都有默認(rèn)初始化值。回收機(jī)制,Java特有的內(nèi)存管理機(jī)制,在不定時(shí)的時(shí)間內(nèi)將

清除

空間。傳智播客教育數(shù)組中的數(shù)組二維數(shù)組:(其實(shí)是一個(gè)一維數(shù)組,它的每一個(gè)元素又是一個(gè)一維數(shù)組),可以看做是一張表格?

在數(shù)組中再存放數(shù)組,外層數(shù)組看做是行,內(nèi)層數(shù)組看做列;?

動(dòng)態(tài)初始化?

靜態(tài)初始化Will17男iWiller16女兩行三列的表格:new

類型[2][3];int[][]

i3=new

int[][3];//不允許沒(méi)分配空間而先給低維分配空間傳智播客教育二維數(shù)組的初始化動(dòng)態(tài)初始化int[

][

]arr

=

new

int[3][2];定義了一個(gè)二維數(shù)組,其中有3個(gè)一維數(shù)組,每一個(gè)一維數(shù)組中有2個(gè)元素靜態(tài)初始化int[

][

]int[

][

]arr

=

new

int[][]{{1,2},{3,4},{5,6}};arr

=

{{1,2},{3,4},{5,6}};傳智播客教育二維數(shù)組的使用int[]

[] arr

=

{{3,1,5},{2,6},{8}};

元素值5的表示方式為:arr[0][2]=5;

第二個(gè)一維數(shù)組的長(zhǎng)度表示方式:int

len=arr[1].length;

對(duì)二維數(shù)組的遍歷使用for的嵌套循環(huán)。

對(duì)于其他

數(shù)組,幾維就用幾層for嵌套,但通常情況數(shù)組最多用到三維,因?yàn)樾室呀?jīng)大大降低了,也不方便于閱讀。for(int[]

is

:

arr)

{for(int

i

:

is)

{System.out.println(i);}}傳智播客教育方法傳遞機(jī)制Java的方法是不能獨(dú)立存在的,調(diào)用方法必須使用類或?qū)ο?。Java方法的參數(shù)傳遞機(jī)制是什么呢?傳遞/值傳遞:參數(shù)進(jìn)行傳遞時(shí)都會(huì)先在自己方法棧中生成一個(gè)實(shí)際參數(shù)的副本,然后該副本擁有實(shí)際參數(shù)的堆內(nèi)存地址,使用結(jié)束后副本被

,而實(shí)際參數(shù)本身不會(huì)受到任何影響;傳智播客教育方法傳遞機(jī)制-基本類型參數(shù)main方法棧swap方法棧122412

a24

b交換傳智播客教育方法傳遞機(jī)制-類型參數(shù)arrmain方法棧arrswap方法棧69ab交換拷貝傳智播客教育操作數(shù)組的工具類-Arraysstatic

int

binarySearch(type[]

a,

type

key)使用二分搜索法來(lái)搜索key元素在數(shù)組中的索引;若a數(shù)組不包括key,返回負(fù)數(shù)。(該方法必須已按升序排列后調(diào)用)。static

int

binarySearch(type[]

a,

int

fromIndex,

int

toIndex,type

key)使用二分搜索法來(lái)搜索key元素在數(shù)組中從fromIndex到toIndex的索引;若a數(shù)組不包括key,返回負(fù)數(shù)。(該方法必須已按升序排列后調(diào)用)。static

boolean[]

copyOf(type[]

original,

int

newLength)指定的數(shù)組見(jiàn)下面?zhèn)渥tatic

byte[]

copyOfRange(type[]

original,

int

from,

int

to)將數(shù)組的指定范圍

到一個(gè)新數(shù)組。傳智播客教育操作數(shù)組的工具類-Arraysstatic

boolean

equals(type[]

a,

type[]

a2)如果兩個(gè)數(shù)組長(zhǎng)度相等和元素一一相等,則返回truestaticvoidfill(type[]a,typeval)將a數(shù)組所有元素都賦為val。static

void

fill(type[]

a,

int

fromIndex,

int

toIndex,

type

val)將a數(shù)組從formIndex到tiondex索引之間的元素都賦為val。static

void

sort(type[]

a)

//sort(int[]

arr)對(duì)指定的數(shù)組按數(shù)字升序進(jìn)行排序。staticvoidsort(type[]a,intfromIndex,inttoIndex)對(duì)指定數(shù)組的從formIndex到tiondex索引之間的元素按數(shù)字升序進(jìn)行排序。static

String

toString(type[]

a)

返回指定數(shù)組內(nèi)容的字符串表示形式。多個(gè)數(shù)組元 間用英文逗號(hào)或空格隔開(kāi)。傳智播客教育操作數(shù)組的工具類-System使用java.lang.System類的靜態(tài)方法可以用于數(shù)組src從第srcPos項(xiàng)元素開(kāi)始

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論