版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年現(xiàn)代農(nóng)業(yè)園土地流轉(zhuǎn)承包合同3篇
- 藝術(shù)活動(dòng)特色課程設(shè)計(jì)
- 汽車租賃管理課程設(shè)計(jì)
- 湘繡美術(shù)課程設(shè)計(jì)
- 藝術(shù)課創(chuàng)意游戲課程設(shè)計(jì)
- 草藥烘焙課程設(shè)計(jì)
- 紙箱印刷工藝課程設(shè)計(jì)
- 職業(yè)主題運(yùn)動(dòng)課程設(shè)計(jì)
- 育子課程設(shè)計(jì)
- 糕點(diǎn)烘焙培訓(xùn)課程設(shè)計(jì)
- 2024(部編版)道德與法治九年級(jí)上冊(cè) 第二單元 民主與法治 單元測(cè)試(學(xué)生版+解析版)
- 醫(yī)療護(hù)理員基礎(chǔ)理論知識(shí)考試試題題庫(kù)及答案
- 2024年高考英語(yǔ)詞匯表-帶音標(biāo)
- 墊底辣妹教育學(xué)思考(3篇模板)
- 框架結(jié)構(gòu)設(shè)計(jì)國(guó)內(nèi)外研究現(xiàn)狀
- 基因檢測(cè)銷售基礎(chǔ)知識(shí)培訓(xùn)手冊(cè)
- 創(chuàng)新人才認(rèn)證(解決方案)考試題庫(kù)(附答案)
- 新質(zhì)生產(chǎn)力-講解課件
- 湖北省隨州市曾都區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試英語(yǔ)試題
- 2023-2024學(xué)年人教版七年級(jí)下冊(cè)地理知識(shí)清單
- 20以內(nèi)最大最小能填幾專項(xiàng)練習(xí)126+129題
評(píng)論
0/150
提交評(píng)論