Java入門基礎(chǔ)視頻教程,java零基礎(chǔ)自學(xué)就選黑馬程序員Java入門教程(含J

數(shù)組的內(nèi)存狀態(tài),
new出來的在堆里,程序從main開始到結(jié)束在棧里。
Java內(nèi)存分配
●棧
方法運(yùn)行時(shí)使用的內(nèi)存,
比如main方法運(yùn)行,
進(jìn)入方法棧中執(zhí)行
●堆
new來創(chuàng)建的,
都存儲(chǔ)在堆內(nèi)存

當(dāng)兩個(gè)數(shù)組指向同一個(gè)小空間時(shí),其中一個(gè)數(shù)組對(duì)小空間中的值發(fā)生了改變,那么其他數(shù)組再次訪問的時(shí)候都是修改之后的結(jié)果了。
方法調(diào)用的基本內(nèi)存原理:細(xì)節(jié)如下
調(diào)用main,加入棧;
main中調(diào)用eat(),將eat方法加入棧;
eat中調(diào)用study(),將study方法加入棧;

study方法執(zhí)行輸出,結(jié)束,study出棧;

回到調(diào)用study處,執(zhí)行輸出;
執(zhí)行sleep,sleep進(jìn)棧;

sleep執(zhí)行輸出,結(jié)束,sleep出棧;

回到調(diào)用處,eat結(jié)束,eat出棧;
main結(jié)束,main出棧。

基本數(shù)據(jù)類型、引用數(shù)據(jù)類型的分類和本質(zhì)

本質(zhì):
基本數(shù)據(jù)類型中變量存儲(chǔ)的是真實(shí)的數(shù)據(jù),傳遞時(shí)傳遞的時(shí)真實(shí)的數(shù)據(jù)

引用數(shù)據(jù)類型中存儲(chǔ)的是地址值。修改了值,其他引用數(shù)據(jù)也是變化后的值。

面向?qū)ο螅?/strong>
1.一些規(guī)則

2.對(duì)象在內(nèi)存中的運(yùn)行機(jī)制

- 對(duì)象存在堆內(nèi)存中,其成員變量的數(shù)據(jù)也存在堆內(nèi)存中。
- Car c = new Car(); 中c存儲(chǔ)的是對(duì)象在堆內(nèi)存中的地址。
3.構(gòu)造器

4.this關(guān)鍵字
●this關(guān)鍵字是什么?
出現(xiàn)在構(gòu)造器和成員方法中,代表當(dāng)前對(duì)象的地址。
●this關(guān)鍵字在構(gòu)造器中、成員方法中可以做什么?
可以用于指定訪問當(dāng)前對(duì)象的成員。
5.封裝
基本思想是絕對(duì)屬性和行為歸屬誰的問題。


6.標(biāo)準(zhǔn)javaBean
也稱實(shí)體類,為了創(chuàng)建對(duì)象,封裝數(shù)據(jù)。
書寫要求:
- 成員變量用private修飾;
- 提供成員變量的set get方法;
- 必須提供一個(gè)無參構(gòu)造器,有參構(gòu)造器可寫可不寫。
7.成員變量與局部變量的區(qū)別

小知識(shí)
- 垃圾回收
注意:當(dāng)堆內(nèi)存中的對(duì)象,沒有被任何變量引用(指向)時(shí),就會(huì)被判定為內(nèi)存中的“垃圾”。
java存在自動(dòng)垃圾回收器,會(huì)定期清理垃圾。
編程思路
1.根據(jù)需求分析步驟,再想 1)我要干啥?2)需要啥數(shù)據(jù)?3)需要返回值嘛? 2.在一堆沒有規(guī)律的數(shù)據(jù)中隨機(jī)抽取,可以先把數(shù)據(jù)放入數(shù)組中,隨機(jī)抽取索引。
編程習(xí)慣
1.寫代碼寫的不要太絕對(duì),防止后面更改需求的時(shí)候太麻煩 //如i < sc.length;雖然知道sc.length是6,但為了以后,用sc.length 2. //判斷當(dāng)前獎(jiǎng)項(xiàng)是否已經(jīng)存在,不用flag=0 ,是個(gè)很好的思想。 public static boolean isHave(int[] arr, int a){ for (int i = 0; i < arr.length; i++) { if(arr[i] == a){ return true; } } return false; }
IDEA快捷鍵:
1. alt+回車 創(chuàng)建未定義的方法 addGoods();//用alt+回車創(chuàng)建該方法 private static void addGoods() { } 2. ctrl+alt+T :可以給選中的范圍添加surround with。while、if...