版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、初學(xué)者如果想學(xué)好 Java 的,2016.Java 學(xué)習(xí)有免費(fèi)學(xué)習(xí)公開課+ 42676-8854復(fù)習(xí)數(shù)組一維數(shù)組的使用方式如圖 1.1 所示:圖 1.1數(shù)組比變量強(qiáng)大一些,變量只能一個(gè),而數(shù)組可以多個(gè),經(jīng)常有一些數(shù)據(jù)鏈的話,那么就得找數(shù)組就。二維數(shù)組的使用方式如圖 1.2 所示:圖 1.2二維數(shù)組用的比較多,他像一個(gè)表格,但是在內(nèi)存中表示的形式就是圖 1.2 中所示的,這就是二維數(shù)組的一個(gè)結(jié)構(gòu)。那么三維數(shù)組的表現(xiàn)形式想象中就是多張表格,在內(nèi)存中的表示其實(shí)也是數(shù)組中有數(shù)組,數(shù)組中再有數(shù)組,這就稱之為三維數(shù)組。如圖 1.3 所示:圖 1.3三維數(shù)組用的很少,基本上不用,用的最多的就是一維,二維用的
2、也多,所以寫好一二維就可以了。他無非就是變量,無非就是存放多個(gè)值。foreach 語句:foreach 與 for 的不同之處如圖 1.4 所示:圖 1.4覺得用for 遍歷數(shù)組有點(diǎn)麻煩,那么foreach 語句就出現(xiàn)了,他代表了 for 循環(huán)的遍歷,這種形式,就是foreach 語句。他比 for 循環(huán)模式要簡(jiǎn)單的多,一句話就可以搞定,而且輸出的時(shí)候,只要輸出j 就可以了。那么這是一種什么機(jī)制呢?如圖 1.5 所示:圖 1.5首先放在冒號(hào)后面的,他可以是數(shù)組的類型,也可以是集合類型,還可以是枚舉類型,也就是說只要寫上類似于這種容器,能夠多個(gè)的就是行。那這個(gè)i 是什么意思呢?就是,每次循環(huán)的時(shí)
3、候,他取出一個(gè)值交給變量j,變量 j 就是接收者,接收從數(shù)組或者集合里拿出來的值交給接收者。每次循環(huán)重新接收值。就算這樣寫,但是最后編成 class 文件,他還是還原了以前的寫法,他只是一種簡(jiǎn)寫,就是為了加快開發(fā)的速度,但是他底層的東西是沒有發(fā)生改變的,所以這只是一種簡(jiǎn)寫的方式,最終還是轉(zhuǎn)換成了機(jī)器認(rèn)識(shí)的東西。任何的編程語言不管什么樣的寫法,他其實(shí)最終都會(huì)轉(zhuǎn)成機(jī)器的代碼,機(jī)器他認(rèn)識(shí)的都那一個(gè)。為什么很容易如圖 1.6 所示:圖 1.6用戶寫代碼,轉(zhuǎn)成機(jī)器認(rèn)識(shí)的代碼,機(jī)器碼是可以翻譯過來的,而源代碼別人是看不到的,不知道邏輯是怎么運(yùn)行的。比如飯店,有火爆的也有不火爆的,其實(shí)最重要的是管理的制度,
4、做菜也是一樣的材料,一樣的地方好的,但是他做出來的就是好吃,或者人家的服務(wù)就是好,那么人家的做法,人家的服務(wù)就是人家的邏輯,你給的什么材料無非就是資源。所以邏輯是理念是看不到的,最終的結(jié)果就是一盤菜出來。所以做反編譯,做解碼那些大部分都是從機(jī)器碼下手的,機(jī)器碼都是可以看到的。只有中間的這個(gè)源代碼部分看不到。什么是開源,開源就是把人能夠看懂的代碼開源出來。結(jié)合上面的內(nèi)容,foreach 語句緊緊只是一種簡(jiǎn)寫的寫法而已,不管到哪,他最終都會(huì)形成 for 循環(huán)的那種形式。也就是不管任何的編碼他怎么做,他最終都會(huì)轉(zhuǎn)成機(jī)器碼去執(zhí)行。需要注意的是,你的數(shù)組是什么類型的,那么 foreach 語句的接收者也
5、得是什么類型的不然會(huì)報(bào)錯(cuò),如圖 1.7 所示:意思是說,這個(gè)類型不匹配,你是字符串的類型,那么接收者也必須是字符串類型。圖 1.7二維數(shù)組如何使用 foreach 語句如圖 1.8 所示:圖 1.8先取數(shù)組,取出了數(shù)組再取值。j 是取出數(shù)組,然后n 是取出j 里面一個(gè)個(gè)的值,然后打印出來。命令行參數(shù):命令行參數(shù)就是main 方法里面的參數(shù)String args 他就是一個(gè)數(shù)組,args 只是數(shù)據(jù)類型的一個(gè)名稱,就是一個(gè)數(shù)組的變量,名稱無所謂,類型沒變就行了。這個(gè)就是程序的入口點(diǎn)。如圖 1.9所示:圖 1.9那他是怎么運(yùn)行的?為什么要傳遞一個(gè)字符串?比如a.txt,為什么雙擊他就會(huì)打開記事本?因
6、為在雙擊的時(shí)候windos 首先把雙擊文件的path 路徑收集起來,之后看后綴名稱是.txt 關(guān)聯(lián)的是什么程序,是記事本程序那么就把參數(shù)傳遞了進(jìn)來。也就是在windos 點(diǎn)開一個(gè)文件的時(shí)候,會(huì)把文件路徑收集起來,去找一下是打開這個(gè)后綴,找到那個(gè)程序之后就會(huì)把這個(gè)路徑提交給記事本,這種方式就叫做接收外界參數(shù)的值。如圖 2.0 所示:圖 2.0就比如 CS,只要往程序里面加上一個(gè)參數(shù),那么就可以形成窗口的模式。參數(shù)有些程序是非要不可的,無論打開也好doc 文檔也好,他其實(shí)都是一種參數(shù)的傳遞,都是把路徑交給一個(gè),根據(jù)這個(gè)路徑去打開它。為什么一個(gè)類里面會(huì)有一個(gè) String,因?yàn)槭莵斫邮胀饨鐓?shù)的。怎
7、么運(yùn)行的如圖 2.1 所示:圖 2.1運(yùn)行Test,后面跟了一個(gè)路徑稱之為參數(shù),首先他找Java.exe程序, 找到了然后把 Test D:/a.txt 交給了 Java.exe然后分析Test.calss 去當(dāng)前的目錄,或者去classpath 里找,找到了去就加載這個(gè)文件的static 靜態(tài)參數(shù)。加載完了就把 D:/a.txt 封裝成String然后String 數(shù)組調(diào)用main 方法的時(shí)候把String傳遞過來。也就是在我們的類后面寫的參數(shù),寫多少個(gè)無所謂,寫好之后jdk 會(huì)自動(dòng)形成一個(gè)字符串?dāng)?shù)組,然后傳遞過來。為什么會(huì)字符串?dāng)?shù)組,因?yàn)榭梢詡鬟f多個(gè)值。為什么放進(jìn) String 數(shù)組里面?
8、因?yàn)镾tring 數(shù)組是最大的所以要申請(qǐng)為String 可以放很多個(gè)。不同類型也沒事,無非就是當(dāng)作為字符串類型,今后要用的時(shí)候才自行轉(zhuǎn)換就可以了。例題 2.2 所示:圖 2.2連在一起那么就會(huì)當(dāng)作一個(gè)參數(shù),寫空格就多個(gè)參數(shù),但是就要空格又要一個(gè)參數(shù)那么就引號(hào)引起來,傳*他會(huì)把當(dāng)前目前的內(nèi)容都呈現(xiàn)出來。靜態(tài)塊:靜態(tài)塊是類里面的構(gòu)造器,對(duì)象有構(gòu)造器那么類也有構(gòu)造器,類里面的構(gòu)造器叫做初始化方法。也就是new 一個(gè)對(duì)象他會(huì)經(jīng)過一個(gè)構(gòu)造器。加載一個(gè)類,也有被初始化的一片代碼,這個(gè)就稱之為靜態(tài)塊。一個(gè)類里面可以有很多個(gè)靜態(tài)塊,靜態(tài)塊的運(yùn)行過程是,如果一個(gè)類里面有多個(gè)靜態(tài)塊,那么他是從上到下運(yùn)行的。如圖
9、2.3 所示:圖 2.3圖 2.3 中可以看出,他是從上到下的運(yùn)行,但是需要哪一個(gè)的時(shí)候他就會(huì)被加載實(shí)例化,但靜態(tài)塊還是從上到下執(zhí)行。里面可以包含很多代碼,但是靜態(tài)塊不能被實(shí)例的成員。如圖 2.4 所示:圖 2.4意思是靜態(tài)塊不能被實(shí)例的成員。這個(gè)是錯(cuò)誤的,因?yàn)殪o態(tài)塊不能非靜態(tài)的成員。靜態(tài)塊是類被加載的時(shí)候就創(chuàng)建起來的。靜態(tài)塊會(huì)被幾種方式加載呢?第一種new 對(duì)象靜態(tài)塊會(huì)初始化,激發(fā)類被加載。如圖 2.5所示:圖 2.5第二種靜態(tài)的屬性,也會(huì)激發(fā)類被加載。如圖 2.6 所示:圖 2.6第三種調(diào)用里面的靜態(tài)方法,也會(huì)觸使類加載起來。如圖2.7 所示:圖 2.7第四種用 Class.forName
10、(“Test”);可以通過字符串加載起來,這種方式叫做動(dòng)態(tài)加載,也可以觸使一個(gè)類加載起來。如圖2.8 所示:圖 2.8類的成員什么時(shí)候用就什么時(shí)候加載,什么時(shí)候不用就不加載,靜態(tài)的成員就必須使用的時(shí)候才會(huì)加載。常量成員不能被初始化加載如圖 2.9 所示:圖 2.9打印的是 10,但是靜態(tài)塊的東西沒有打印出來,那就說明這個(gè)類沒有被加載起來,因?yàn)樗且粋€(gè)靜態(tài)的常量,靜態(tài)的常量不屬于類的內(nèi)存,他沒有分配在這個(gè)類內(nèi)存里面,他不需要初始化這個(gè)類。靜態(tài)的屬性為什么能,因?yàn)殪o態(tài)的屬性內(nèi)存必須要分配在這個(gè)類里面,所以他會(huì)被初始化加載。所以圖中的靜態(tài)塊不會(huì)被加載起來。方法集合參數(shù):方法的集合參數(shù)就是這個(gè)方法的參數(shù)有多個(gè),可以無限個(gè)。如圖 3.0 所示:這種方式太麻煩,所以JDK1.5 以后就有了另式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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-2025學(xué)年高中地理 第二章 區(qū)域生態(tài)環(huán)境建設(shè) 第1節(jié) 荒漠化的防治-以我國(guó)西北地區(qū)為例教學(xué)實(shí)錄 新人教版必修3
- 客服工作總結(jié)(集錦15篇)
- 2021學(xué)生讀弟子規(guī)心得體會(huì)
- JCT2550-2019泡沫混凝土自保溫砌塊
- 初中的我作文匯編5篇
- 2024年度智能倉儲(chǔ)系統(tǒng)施工委托合同3篇
- 鋼貿(mào)金融學(xué)知識(shí)之托盤業(yè)務(wù)
- 2024年版基礎(chǔ)設(shè)施建設(shè)項(xiàng)目土地征用協(xié)議示例版B版
- 公司個(gè)人原因辭職報(bào)告合集6篇
- 2024-2025年高中化學(xué) 專題1 第2單元 第3課時(shí) 電解池的工作原理及應(yīng)用教學(xué)實(shí)錄 蘇教版選修4
- 【MOOC期末】《形勢(shì)與政策》(北京科技大學(xué))期末慕課答案
- 2024年度五星級(jí)酒店廚師團(tuán)隊(duì)管理與服務(wù)合同3篇
- 個(gè)人租房合同協(xié)議書(5篇)
- 新修訂中華人民共和國(guó)行政許可法全文解讀學(xué)習(xí)
- 廣東省廣州市花都區(qū)2024年七年級(jí)上學(xué)期期末數(shù)學(xué)試題【附答案】
- 期末測(cè)試模擬練習(xí) (含答案) 江蘇省蘇州市2024-2025學(xué)年統(tǒng)編版語文七年級(jí)上冊(cè)
- 上海市徐匯區(qū)2024-2025學(xué)年高一語文下學(xué)期期末試題含解析
- 品質(zhì)年度總結(jié)及來年計(jì)劃
- 學(xué)生體質(zhì)健康存在的主要問題及改進(jìn)措施
- 2024年執(zhí)業(yè)藥師資格繼續(xù)教育定期考試題庫(附含答案)
- 線性代數(shù)知到智慧樹章節(jié)測(cè)試課后答案2024年秋貴州理工學(xué)院
評(píng)論
0/150
提交評(píng)論