從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符_第1頁
從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符_第2頁
從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符_第3頁
從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符_第4頁
從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、從頭認(rèn)識java-2.3 自增自減與關(guān)系操作符這一章節(jié)我們來聊聊自增自減與關(guān)系操作符。1.自增自減其實沒什么特別需要關(guān)注,只要把基礎(chǔ)原理弄懂即可。javaview plaincopy1. packagecom.ray.ch03;2. 3. publicclassTest4. publicstaticvoidmain(Stringargs)5. inta=0;6. System.out.println(before+:+a);7. System.out.println(+:+a+);8. System.out.println(after+:+a);9. System.out.println(-)

2、;10. System.out.println(before+:+a);11. System.out.println(+:+(+a);12. System.out.println(after+:+a);13. System.out.println(-);14. System.out.println(before-:+a);15. System.out.println(-:+a-);16. System.out.println(after-:+a);17. System.out.println(-);18. System.out.println(before-:+a);19. System.ou

3、t.println(-:+-a);20. System.out.println(after-:+a);21. 22. 輸出:before +:0+:0after +:1-before +:1+:2after +:2-before -:2-:2after -:1-before -:1-:0after -:0從代碼以及輸出,我們可以看見a在每個階段的變化,只要大家弄明白這個即可。2.關(guān)系操作符其實就是,=,!=等(1)對象的等價性javaview plaincopy1. packagecom.ray.ch03;2. 3. publicclassTest4. publicstaticvoidmain

4、(Stringargs)5. Dogjack=newDog();6. Dogrose=newDog();7. System.out.println(jack=rose);8. System.out.println(jack.equals(rose);9. 10. Integera=newInteger(1);11. Integerb=newInteger(1);12. System.out.println(a=b);13. System.out.println(a.equals(b);14. 15. Integerd=newInteger(100000);16. Integere=newInt

5、eger(100000);17. System.out.println(d=e);18. System.out.println(d.equals(e);19. 20. intf=1;21. intg=1;22. System.out.println(f=g);23. /System.out.println(f.equals(g);/報錯24. 25. 26. 27. classDog28. privateStringname;29. 30. publicStringgetName()31. returnname;32. 33. 34. publicvoidsetName(Stringname)

6、35. =name;36. 37. 38. 輸出:falsefalsefalsetruefalsetruetrueDog那里的對比就不說了,我們重點說說Integer那里的幾個對比。=一般是對比對象的引用,一次a=b,d=e返回false,而使用equals,則是對比兩個對象里面的值,因為在Integer里面已經(jīng)重寫了equals方法。javaview plaincopy1. publicbooleanequals(Objectobj)2. if(objinstanceofInteger)3. returnvalue=(Integer)obj).intValue();4. 5

7、. returnfalse;6. 他對比的是數(shù)值,而不是對象的引用,而在=使用的是Object的equalsjavaview plaincopy1. publicbooleanequals(Objectobj)2. return(this=obj);3. 他只對比兩者的引用是否指向同一個對象。有一點需要注意:基本類型不能使用equals我們再看下面的兩個例子:javaview plaincopy1. packagecom.ray.ch03;2. 3. publicclassTest4. publicstaticvoidmain(Stringargs)5. Dogjack=newDog();6.

8、 Dogrose=newDog();7. jack.setName(100);8. rose.setName(100);9. System.out.println(jack=rose);10. System.out.println(jack.equals(rose);11. 12. 13. 14. classDog15. privateStringname;16. 17. publicStringgetName()18. returnname;19. 20. 21. publicvoidsetName(Stringname)22. =name;23. 24. 25. 輸出:f

9、alsefalse雖然兩個對象都設(shè)置同樣的值,但是他們使用的是Object的equals,只是對比引用,所以同時返回false,我們修改一下上面的代碼。javaview plaincopy1. packagecom.ray.ch03;2. 3. publicclassTest4. publicstaticvoidmain(Stringargs)5. Dogjack=newDog();6. Dogrose=newDog();7. jack.setName(100);8. rose.setName(100);9. System.out.println(jack=rose);10. System.o

10、ut.println(jack.equals(rose);11. 12. 13. 14. classDog15. privateStringname;16. 17. publicStringgetName()18. returnname;19. 20. 21. publicvoidsetName(Stringname)22. =name;23. 24. 25. Override26. publicbooleanequals(Objectobj)27. if(objinstanceofDog)28. return(Dog)obj).getName().equals(name);29

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論