版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
內(nèi)存分類(lèi):棧內(nèi)存、堆內(nèi)存、寄存器、方法構(gòu)造(代碼段)、池內(nèi)存棧內(nèi)存:地址、基本內(nèi)存的值(棧內(nèi)存很小,不放對(duì)象)堆內(nèi)存:對(duì)象、地址、基本內(nèi)存的值、寄存器:運(yùn)算的中間值代碼段:如構(gòu)造方法等的代碼池內(nèi)存:長(zhǎng)放在內(nèi)存里面的東西放在池內(nèi)存里面(常駐內(nèi)存)Staffstaff=newStaff();執(zhí)行次序:①Staffstaff現(xiàn)在棧里面圖1-1publicclassTest{ publicstaticvoidmain(String[]args){ Staffstaff=newStaff(); staff.id="007"; ="詹姆斯.邦德"; staff.salary=10000.0F; staff.faSalary(); }}publicclassStaff{ Stringid; Stringname; floatsalary; publicvoidfaSalary(){ System.out.println(salary); }}編譯:javac-d.Hello.java運(yùn)行:Javacom.tenara.Helloimport語(yǔ)句可以導(dǎo)入不同包的class文虛擬機(jī)先找棧,通過(guò)棧找到堆!垃圾回收機(jī)制回收的主要是堆內(nèi)存里面的東西。GC是怎么判斷堆內(nèi)存里面的東西已經(jīng)成為垃圾可以被回收了?GC是從棧找到堆,如果堆里面的內(nèi)容在棧里面沒(méi)有對(duì)應(yīng)的地址變?cè)?,則被視為垃圾清理掉!importjava.util.Scanner;//掃描鍵盤(pán)publicclassTest2{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); //掃描字符串 Stringstr=sc.next(); System.out.println("輸入了"+str); //掃描整數(shù) intaa=sc.nextInt(); System.out.println("輸入了"+aa); //掃描double doubledd=sc.nextDouble(); System.out.println("輸入了"+dd); }}Operators1、"()"優(yōu)先級(jí)高2、"="優(yōu)先級(jí)低Assignmentoperators=+=-=%=*=/=<<=>>=>>>=&=^=|=publicclassTest6{ publicstaticvoidmain(String[]arsg){ byteb1=2; byteb2=3; b1=(byte)(b1+b2);//語(yǔ)句1加法,轉(zhuǎn)int b1+=b2;//語(yǔ)句2賦值,不轉(zhuǎn)int }}b1+=b2;是否和語(yǔ)句b1=b1+b2完全等價(jià)?答案是否定的,上面程序中的語(yǔ)句1和語(yǔ)句2給出了證明。語(yǔ)句1中byte類(lèi)型參與運(yùn)算時(shí)要先轉(zhuǎn)換為int類(lèi)型,因此要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。而語(yǔ)句2中,自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換。(我的理解:我們可以把“b11+=b2;”看做是對(duì)“b1=(byte)(b1+b2);”的優(yōu)化!)publicclassTest10{ publicstaticvoidmain(String[]args){ byteb1=100; byteb11=100; byteb2=120; b1=(byte)(b1+b2); System.out.println(b1); b11+=b2; System.out.println(b11); }}運(yùn)行結(jié)果為:-36-36Comparisonoperators>>=<<=instanceofEqualityoperators==!=Arithmeticoperators+-*/%importjava.util.Scanner;publicclassTest4{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intsecond=sc.nextInt(); inthour=second/3600; intminute=second%3600/60; intsecond2=second%60; System.out.println(second+"秒="+hour+"小時(shí)" +minute+"分鐘"+second2+"秒"); }}Shiftoperators>><<>>>Bitwiseoperators&|^(按位異或)~(按位取反)Logicoperators&&(邏輯與)&||(邏輯或)|?。ㄟ壿嫹牵?&和&都是邏輯與,它們之間的區(qū)別:&&是短路邏輯與,有短路的效果,效率更高。||和|都是邏輯或,它們之間的區(qū)別:||是短路邏輯或,有短路的效果,效率更高。publicclassTest8{ @SuppressWarnings("unused") publicstaticvoidmain(String[]args){ inti=6; System.out.println(1>2&&(5<i++)); System.out.println(i); intj=6; System.out.println(1>2&(5<j++)); System.out.println(j); intm=6; System.out.println(2>1||(5<m++)); System.out.println(m); intn=6; System.out.println(2>1|(5<n++)); System.out.println(n); }}運(yùn)行結(jié)果:false6false7true6true7Conditionaloperators?:publicclassTest9{ publicstaticvoidmain(String[]args){ inta=5; intb=3; System.out.println(a>b?a:b); System.out.println(a>b?"ok":4); }}注意第二個(gè)輸出語(yǔ)句中"ok"和4的類(lèi)型不同,有的JDK版本可能要求條件語(yǔ)句中這兩個(gè)語(yǔ)句的類(lèi)型必須相同,如果運(yùn)行出錯(cuò),可以更換JDK的版本。Otheroperators++--publicclassTest5{ publicstaticvoidmain(String[]args){ inti=2; System.out.println(i++);//2 System.out.println(i);//3 inta=i+++++i;//3+5=8 System.out.println(a); System.out.println(i);//5 for(intj=0;j<1000;j++){ i=i++; } System.out.println(i);//5 }}程序分析:為什么經(jīng)過(guò)1000次循環(huán)后,i=i++;的結(jié)構(gòu)仍然是5?(達(dá)內(nèi)老師講解)++的運(yùn)算符優(yōu)先級(jí)高于=(賦值)運(yùn)算符,i++的運(yùn)算結(jié)果為5,送入寄存器,這時(shí)寄存器中存放的值為5。然后i的值變?yōu)?,繼續(xù)執(zhí)行賦值語(yǔ)句,賦值時(shí),把寄存器中的值賦5值給i,因此i的值是在5和6之間來(lái)回切換的!(我的理解)++的運(yùn)算符優(yōu)先級(jí)高于=(賦值)運(yùn)算符,因此這個(gè)表達(dá)式的執(zhí)行順序如下:①運(yùn)算i++這個(gè)表達(dá)式的結(jié)果為5。---->②i的值自加1(i++先參與運(yùn)算,再自加1),即i的值變?yōu)?。---->③將i++這個(gè)表達(dá)式的值,即第①部的結(jié)果賦值給變量i。("="表達(dá)式是將右邊表達(dá)式的值賦值與左邊的變量,因此是將5賦于i,而不是將6賦于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代小區(qū)火災(zāi)應(yīng)急救援隊(duì)伍的實(shí)戰(zhàn)化訓(xùn)練探討
- 現(xiàn)代企業(yè)員工激勵(lì)機(jī)制設(shè)計(jì)與實(shí)踐
- 班級(jí)環(huán)境衛(wèi)生與校園文化建設(shè)的結(jié)合
- 4《機(jī)械擺鐘》說(shuō)課稿-2023-2024學(xué)年科學(xué)五年級(jí)上冊(cè)教科版
- 2023七年級(jí)數(shù)學(xué)上冊(cè) 第3章 一次方程與方程組3.2 一元一次方程的應(yīng)用第1課時(shí) 等積變形和行程問(wèn)題說(shuō)課稿 (新版)滬科版
- Unit 4 Plants around us Part A Let's learn(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024-2025學(xué)年新教材高中英語(yǔ) Unit 3 The world meets China預(yù)習(xí) 新知早知道1(教用文檔)說(shuō)課稿 外研版選擇性必修第四冊(cè)
- 2025日本食品業(yè)A公司特許合同樣本
- 2025年銀行擔(dān)保借款合同范本
- 1小蝌蚪找媽媽 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文二年級(jí)上冊(cè)統(tǒng)編版
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 初一年級(jí)班主任上學(xué)期工作總結(jié)
- 2023-2024年同等學(xué)力經(jīng)濟(jì)學(xué)綜合真題及參考答案
- 農(nóng)村集體土地使用權(quán)轉(zhuǎn)讓協(xié)議
- 課件四露天礦山安全知識(shí)培訓(xùn)
- 2025年高考數(shù)學(xué)模擬卷(一)含答案及解析
- 大單元教學(xué)理念及其定義、特點(diǎn)與實(shí)施策略
- 屋頂分布式光伏發(fā)電項(xiàng)目光伏組件技術(shù)要求
- 職業(yè)技術(shù)學(xué)院《裝配式混凝土構(gòu)件生產(chǎn)與管理》課程標(biāo)準(zhǔn)
- 2023光伏并網(wǎng)柜技術(shù)規(guī)范
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計(jì)規(guī)范(廣東省標(biāo)準(zhǔn))
評(píng)論
0/150
提交評(píng)論