資源描述:
《04_java基礎(chǔ)_第4天(數(shù)組、switch語句)_講義》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、第04天Java基礎(chǔ)第1章switch語句1?1選擇結(jié)構(gòu)_switch概念在現(xiàn)實業(yè)務(wù)中,許多場景需要我們從多個固定的值中選出一個,執(zhí)行該數(shù)值對應(yīng)的操作。比如,在一周七犬,當(dāng)輸入1-7會打印不同的星期。對應(yīng)這樣的業(yè)務(wù)場景,我們可以使用switch選擇結(jié)構(gòu)。1.2格式switch格式以下為switch語句的格式:switch(表達(dá)式){case目標(biāo)值執(zhí)行語句1break;case目標(biāo)值2:執(zhí)行語句2break;case目標(biāo)值n:執(zhí)行語句nbreak;default:執(zhí)行語句n+lbreak;}在上而的格式中,swit
2、ch語句將表達(dá)式的值與每個case中的H標(biāo)值進(jìn)行匹配,如果找到了匹配的值,會執(zhí)行對應(yīng)case后的語句,如果沒找到任何匹配的值,就會執(zhí)行default后的語句。break的作用是跳出switch語句。1.3switch注意事項?在switch語句中的表達(dá)式只能是byte、short^char、int^enum枚舉(JDK1.5)>字符串(JDK1.7)類型的值,如果傳入其它類型的值,程序會報錯。?如同if語句當(dāng)中的else,default不是必須存在的?與if語句不同,switch語句只能完成具體值的選擇,而不能指
3、定取值區(qū)間?case條件只判斷一次,在判斷完一次case條件后,所冇的case判斷語旬將不再起作用,而剩余語句征程執(zhí)行。這是switch語句的穿透。(了解)1.4switch案例…超市購物小票輸入數(shù)量&打印小票&退出操作1.4.1案例介紹與演示使用switch語句完成三個分支的代碼邏輯當(dāng)用戶輸入1時,讓用戶輸入所要購買的商品數(shù)量當(dāng)用戶輸入2時,給用戶打印出對應(yīng)的購物小票當(dāng)用戶輸入3時,退出系統(tǒng)1.4.2案例分析a)輸入數(shù)量輸入數(shù)量可以使用Z前學(xué)習(xí)的Scanner類完成。導(dǎo)包:java.util.Scanner;定
4、義變量并創(chuàng)建對彖為變量賦值:Scannerxx=newScaner(System.in);調(diào)用方法,接收數(shù)字:inty=xx.nextlnt();b)打印購物小票打印購物小票的邏輯與之前相同,分為票頭、票體、票腳(見day02)c)System類的退出程序方法在System類中有一個可以退出程序的方法,當(dāng)執(zhí)行如卜?語句時,程序退出:System.exit(O);第2章數(shù)組2.1數(shù)組概念軟件的棊木功能是處理數(shù)據(jù),而在處理數(shù)據(jù)時,必須先進(jìn)行數(shù)據(jù)持冇,將數(shù)據(jù)持冇之后,再對數(shù)據(jù)進(jìn)行處理。我們將程序屮可以臨時存儲數(shù)據(jù)的部分
5、叫做容器。Java當(dāng)中具有持有數(shù)據(jù)功能的容器中,數(shù)組是最基本的,也是運(yùn)算速度最快的。2.2數(shù)組的定義格式數(shù)紐是引用類型的一種,具使用方式與引川類型類似,均使丿IJnew關(guān)鍵字創(chuàng)建對象為變量賦值。數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[元索個數(shù)或數(shù)組氏度];示例:int[]arr二newint[5];述有其他格式如卜:int[]arr=newint[]{20,5,100,30,5}int[]arr={20,5,100,30,5}intarr[]=newint[4];〃源碼中經(jīng)常會看到的定義方式2.3數(shù)組的使用格式數(shù)組底
6、層是依次將數(shù)據(jù)進(jìn)行編號后直接通過編號訪問(線性序列)的。這個編號叫做索引。索引從0開始計數(shù)。訪問數(shù)組中指定編號的元素:數(shù)組名[索引]如:int[]arr二{20,5,100,30,5};arr[0]訪問的為20,arr[2]訪問的1000這里的〃訪問〃包含以下兩個動作:獲取值與賦值。如:為元素賦值:arr[l]=33;則第2個元素5會被33替代。獲取元素的值:intx=arr[3];則x的值為30。使用數(shù)組名.length可以獲取數(shù)組長度。直接打印數(shù)組名是獲取了數(shù)組的堆內(nèi)存地址值(內(nèi)存圖詳細(xì)了解)2.4數(shù)組的注意
7、事項2.4.1數(shù)組的長度是固定的數(shù)組在創(chuàng)建對象過程當(dāng)小,必須指定數(shù)組長度,無法創(chuàng)建對象進(jìn)而無法給變最賦值。2.4.2一個數(shù)組中只能存儲一種類型的數(shù)據(jù)在數(shù)組的定義格式中有顯式地寫出該數(shù)組中存儲的數(shù)據(jù)類型,所以一個數(shù)組只能存儲同一種數(shù)據(jù)類型。(在多態(tài)的講解后,我們會冇新的理解)2.4.3數(shù)組內(nèi)元素均有默認(rèn)初始化值在創(chuàng)建數(shù)組對象后,數(shù)組屮元索會被白動賦予一個默認(rèn)值,這個過程叫做默認(rèn)初始化。根據(jù)元素類型的不同,默認(rèn)初始化的值也是不一樣的。具體如下表所示。表2-1元索默認(rèn)值數(shù)據(jù)類型默認(rèn)初始化值byte、shortsint、
8、long0float>double0.0char—個空字符(空格),即duooocrbooleanfalse引用數(shù)據(jù)類型null,表示變量不引用任何對象2?5數(shù)組運(yùn)行期報錯在使用數(shù)組時,因為不當(dāng)?shù)牟僮鳎覀兛赡軙ㄟ^編譯,但是在運(yùn)行期間遇到一些程序報錯類似這樣編譯時不報錯,運(yùn)行期報錯的錯誤叫運(yùn)行時錯誤數(shù)組最常見的兩個運(yùn)行時錯誤:空指針異常和數(shù)組索引越界異常2.5.1空指針