44行:是重寫了對(duì)象的equals方法,是用來比較兩個(gè)對(duì)象是否相同的,按照上面的代碼就是,如果兩個(gè)person對(duì)象的name屬性和age屬性相同的話用equals比較時(shí),則認(rèn)為是相同的。
十多年的廣州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整廣州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“廣州網(wǎng)站設(shè)計(jì)”,“廣州網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
78行:sop是自己寫的一個(gè)方法,這個(gè)要自己看源碼是干什么的,里面的參數(shù)是一個(gè)boolean值,值的來源為arraylist的方法remove的返回。
關(guān)于remove可以參看java的API:簡(jiǎn)單如下解釋
public boolean remove(Object o)從此列表中移除指定元素的單個(gè)實(shí)例(如果存在),此操作是可選的。更正式地說,如果列表包含一個(gè)或多個(gè)滿足 (o==null ? e==null : o.equals(e)) 的元素 e,則移除該元素。如果列表中包含指定的元素,則返回 true(或者等同于這種情況:如果列表隨調(diào)用的結(jié)果而發(fā)生改變,則返回 true)。
Java代碼之于java程序員而言就是左膀右臂,java代碼寫的好的java程序員明顯更是企業(yè)的歡迎,一個(gè)優(yōu)秀的java程序員的考核標(biāo)準(zhǔn)之一也是看他的編程水平。
其實(shí)有的java程序員java代碼會(huì)受到大家的追捧,是因?yàn)樗趯懘a時(shí)注意的細(xì)節(jié)往往多于那些不怎么關(guān)注java代碼編程細(xì)節(jié)的程序員,俗話說:“細(xì)節(jié)決定成敗”,那么如何寫出好的java代碼呢?IT培訓(xùn)介紹一起來討論下:
1.重視注釋
有的java程序員在寫代碼時(shí),從來沒有想過要在java代碼后加上相關(guān)的注釋,甚至是上萬行的代碼也沒有想過加上注釋,這就存在很大的問題,不說你的代碼會(huì)跟其他人分享討論,就你自己回顧你是怎么寫好這篇代碼的,你也是半天無法理出頭緒,這就為維護(hù)和修改等等工作添加了很大的麻煩。所以,要想寫出好的java代碼,一定從簡(jiǎn)短的java代碼編寫開始注重在java代碼后面加上相應(yīng)的注釋,養(yǎng)成良好的習(xí)慣。
2.重視排版整潔
看很多java程序員的排版總覺得在欣賞一幅藝術(shù)品,但是看到一些java程序員的排版卻總覺得無力吐槽。同樣是編寫代碼,但是給人的視覺體驗(yàn)是相當(dāng)?shù)牟煌?dāng)然好的java代碼給人的享受也是美的,所以要想寫出好的代碼,一定要重視排版整潔。
3.注重命名規(guī)則
現(xiàn)在在一個(gè)團(tuán)隊(duì)開發(fā)中,都會(huì)提前定制一個(gè)統(tǒng)一的命名規(guī)則,這樣利于提高工作效益。但是很多java程序員是缺乏這個(gè)意識(shí)的,每次敲代碼,更喜歡按照自己慣常的方式老命名模塊、函數(shù),這樣是方便了自己,但是忽視團(tuán)隊(duì)協(xié)作,所以在日常工作中,特別是團(tuán)隊(duì)工作中一定要重視命名規(guī)則。
4.養(yǎng)成備份習(xí)慣
備份的重要性不用小編強(qiáng)調(diào),相必你也知道。但是有的java程序員就是沒有養(yǎng)成這樣的好習(xí)慣,每次敲完代碼就不記得隨手保存,每次等到除了事故,比如電腦出了故障,辛辛苦苦敲打的java代碼沒保存找不回來的情況下就開始懊惱,與其這樣還不如在一開始就養(yǎng)成良好的備份習(xí)慣,這樣也方便自己日后查找利用。
推薦你幾本書,按順序?qū)W習(xí)就好了,剛開始學(xué)的時(shí)候代碼不會(huì)寫很正常,但是應(yīng)該要模仿著寫,該背的還是要背,有些模式得背得很熟,當(dāng)然是不是死記硬背是要理解了背,最后自己找點(diǎn)題目練練,多敲敲代碼就行了
一、Java編程入門類
對(duì)于沒有Java編程經(jīng)驗(yàn)的程序員要入門,隨便讀什么入門書籍都一樣,這個(gè)階段需要快速的掌握J(rèn)ava基礎(chǔ)語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對(duì)Java熟悉起來再說。用很短的時(shí)間快速過一遍Java語法,連懵帶猜多寫寫代碼,要“知其然”。
1、《Java編程思想》
它對(duì)于基本的面向?qū)ο笾R(shí)有比較清楚的交待,對(duì)Java基本語法,基本類庫(kù)有比較清楚的講解,可以幫助打下一個(gè)良好的Java編程基礎(chǔ)。這本書的缺點(diǎn)是實(shí)在太厚,也比較羅嗦,不適合現(xiàn)代人快節(jié)奏學(xué)習(xí),因此看這本書要懂得取舍,不是每章每節(jié)都值得一看的,挑重點(diǎn)的深入看就可以了
2、《Agile Java》中文版
這本書一大特點(diǎn)是以單元測(cè)試和TDD來貫穿全書的,在教Java各種重要的基礎(chǔ)知識(shí)的過程中,潛移默化的影響編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎(chǔ)講解,要學(xué)習(xí)JDK5.0的新語法也不錯(cuò)。還有這本書對(duì)于內(nèi)容取舍也非常得當(dāng),Java語言畢竟類庫(kù)龐大,可以講的內(nèi)容太多,這本書選擇的內(nèi)容以及內(nèi)容的多寡都很得當(dāng),可以以最少的時(shí)間掌握J(rèn)ava最重要的知識(shí),順便培養(yǎng)出來優(yōu)秀的編程思路,真是一本不可多得的好書
二、Java編程進(jìn)階類
打下一個(gè)良好的Java基礎(chǔ),還需要更多的實(shí)踐經(jīng)驗(yàn)積累,培養(yǎng)良好的編程習(xí)慣,提高代碼質(zhì)量
1、《重構(gòu) 改善既有代碼的設(shè)計(jì)》
這本書名氣很大,不用多介紹,可以在閑暇的時(shí)候多翻翻,多和實(shí)踐相互印證。這本書產(chǎn)生影響是潛移默化的。
2、《測(cè)試驅(qū)動(dòng)開發(fā) by Example》
本書最大特點(diǎn)是很薄,看起來沒有什么負(fù)擔(dān)。這本書的作用是通過實(shí)戰(zhàn)培養(yǎng)TDD的思路
三、Java架構(gòu)師之路
到這個(gè)階段,應(yīng)該已經(jīng)非常嫻熟的運(yùn)用Java編程,而且有了一個(gè)良好的編程思路和習(xí)慣了,但是可能還缺乏對(duì)應(yīng)用軟件整體架構(gòu)的把握,現(xiàn)在就是邁向架構(gòu)師的第一步
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經(jīng)典,從這本書中的代碼誕生了 springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業(yè)界專家參與,雖然署名譯者是JavaEye,其實(shí)JavaEye出力不多,實(shí)在是忝居譯者之名。以上兩本書都是Rod Johnson的經(jīng)典名著,Java架構(gòu)師的必讀書籍。
3、《企業(yè)應(yīng)用架構(gòu)模式》
Martin的又一本名著,這本書更適合做框架的人去看
4、《敏捷軟件開發(fā)原則、模式與實(shí)踐》
Uncle Bob的名著,敏捷的經(jīng)典名著,這本書比較特別,與其說是講軟件開發(fā)過程的書,不如說講軟件架構(gòu)的書,本書用了很大篇幅講各種面向?qū)ο筌浖_發(fā)的各種模式
四、軟件開發(fā)過程
了解軟件開發(fā)過程不單純是提高程序員個(gè)人的良好編程習(xí)慣,也是增強(qiáng)團(tuán)隊(duì)協(xié)作的基礎(chǔ)。
1、《UML精粹》
UML其實(shí)和軟件開發(fā)過程沒有什么必然聯(lián)系,卻是軟件團(tuán)隊(duì)協(xié)作溝通,撰寫軟件文檔需要的工具。但是UML真正實(shí)用的圖不多,看看這本書已經(jīng)足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。
2、《解析極限編程 擁抱變化》
XP這是Kent Beck名著的第二版,中英文對(duì)照,必讀書籍。
3、《統(tǒng)一軟件開發(fā)過程》
UP其實(shí)UP和敏捷并不一定沖突,UP也非常強(qiáng)調(diào)迭代,測(cè)試,但是UP強(qiáng)調(diào)的文檔和過程驅(qū)動(dòng)卻是敏捷所不取的
4、《敏捷建?!?/p>
AMScott Ambler的名著,這本書非常的progmatic,既敏捷又UP,把敏捷和UP統(tǒng)一起來了,又提出了很多progmatic的建議和做法
最簡(jiǎn)單的java代碼肯定就是這個(gè)了,如下:
public class MyFirstApp
{
public static void main(String[] args)
{
System.out.print("Hello world");
}
}
“hello world”就是應(yīng)該是所有學(xué)java的新手看的第一個(gè)代碼了。如果是零基礎(chǔ)的新手朋友們可以來我們的java實(shí)驗(yàn)班試聽,有免費(fèi)的試聽課程幫助學(xué)習(xí)java必備基礎(chǔ)知識(shí),有助教老師為零基礎(chǔ)的人提供個(gè)人學(xué)習(xí)方案,學(xué)習(xí)完成后有考評(píng)團(tuán)進(jìn)行專業(yè)測(cè)試,幫助測(cè)評(píng)學(xué)員是否適合繼續(xù)學(xué)習(xí)java,15天內(nèi)免費(fèi)幫助來報(bào)名體驗(yàn)實(shí)驗(yàn)班的新手快速入門java,更好的學(xué)習(xí)java!
學(xué)習(xí)JAVA應(yīng)該從哪一部開始很多人都很迷茫,下面是我整理的學(xué)習(xí)路線和方向一共四點(diǎn)。希望對(duì)你有幫助!
①【學(xué)習(xí)語言基礎(chǔ)】
很顯然,掌握語言基礎(chǔ)是第一步。如果你不了解基礎(chǔ)知識(shí),那么你就不知道自己是否做錯(cuò)了或者接下來該怎么做。當(dāng)然,這并不是要求你把所有的基礎(chǔ)知識(shí)都記住,比如所有的 Java關(guān)鍵字、核心概念或者基本編碼技術(shù)等。
②【開始編寫一些小程序】
如果你確信自己對(duì)大多數(shù)的基礎(chǔ)知識(shí)和概念足夠熟悉,并且能夠以某種方式將它們聯(lián)系起來,那么你就可以進(jìn)行下一步了,你可以開始嘗試編寫一些非?;镜?Java 程序,比如打印 hello world、實(shí)現(xiàn)簡(jiǎn)單的加減法,等等。
③【 使用 Java API 編寫高級(jí)程序】
當(dāng)你完成了大部分的基礎(chǔ)程序編寫,并且掌握了基本的編程技巧之后,就可以進(jìn)行下一步了。我會(huì)建議你努力學(xué)習(xí) Java 集合和 Java IO 內(nèi)部的 API。你需要熟悉這些 API 提供的各種類和接口,并利用它們來創(chuàng)建程序。需要注意的是,你應(yīng)該查找已經(jīng)存在的 API 和方法來實(shí)現(xiàn)功能,而不是自己實(shí)現(xiàn)這些邏輯。你的任務(wù)是熟悉這些 API,因此你只能夠在這些已有的 API 中尋求解決方案。
④【編寫桌面程序和 Web 應(yīng)用】
通過這一步的學(xué)習(xí),面對(duì)任何 Java 面試你都能夠信心滿滿,當(dāng)你討論 Java 相關(guān)的話題時(shí)也能夠充滿自信。你需要至少編寫一個(gè) Java 桌面或者 GUI 應(yīng)用程序,比如計(jì)算器,然后再編寫一個(gè) Web 應(yīng)用程序,比如醫(yī)院管理程序。在前面的學(xué)習(xí)中,你已經(jīng)掌握了最基本的 Java 知識(shí),現(xiàn)在你需要去探索,然后編寫出這兩個(gè)應(yīng)用程序。
重要的是,它可以幫助你養(yǎng)成不惜一切代價(jià)完成一項(xiàng)任務(wù)的好習(xí)慣。這種持之以恒的態(tài)度對(duì)你職業(yè)生涯的長(zhǎng)遠(yuǎn)發(fā)展是非常重要的。
最后,也是最關(guān)鍵的一點(diǎn),就是要多看視頻教程,這一類的資料很多,可以自己搜索看一下,B站上面很多有關(guān)java的學(xué)習(xí)資料,我冒昧的推薦一個(gè)可以參考一下:網(wǎng)頁(yè)鏈接
abstract class Employee{
private String name ;
public Employee(String name){
this.name = name ;
}
public String getUserName(){
return this.name ;
}
public abstract float earnings() ;
}class Boss extends Employee{
private float salary ; //日薪
public Boss(String name,float salary){
super(name) ;
this.salary = salary ;
}
public float earnings(){ //周工資
return this.salary * 7 ;
}
}class CommissionWorker extends Employee{
private float basic ; //基本日薪
private float sale ; //銷售額完成百分比
public CommissionWorker(String name,float basic,float sale){
super(name) ;
this.basic = basic ;
this.sale = sale ;
}
public float earnings(){
return sale * basic *7 ;
}
}class PieceWorker extends Employee{
private float price ; //每件的價(jià)格
private int num ; //產(chǎn)品數(shù)量
public PieceWorker(String name,float price,int num){
super(name) ;
this.price = price ;
this.num = num ;
}
public float earnings(){
return price * num ;
}
}class HourlyWorker extends Employee{
private float salary ; //基本日薪
private int time ; //工作時(shí)間
public HourlyWorker(String name,float salary,int time){
super(name) ;
this.salary = salary ;
this.time = time ;
}
public float earnings(){
return time * salary ;
}
}
//測(cè)試類Test19
public class Test19{
public static void main(String args[]){
//測(cè)試代碼
Employee e1 = new Boss("boss",300.0f) ;
Employee e2 = new CommissionWorker("commissionworker",100.0f,0.8f) ;
Employee e3 = new PieceWorker("pieceworker",10.0f,20) ;
Employee e4 = new HourlyWorker("hourlyworker",150.0f,4) ;
print(e1) ;
print(e2) ;
print(e3) ;
print(e4) ;
}
public static void print(Employee e){
System.out.println(e.getUserName() + " -- " + e.earnings()) ;
}
}
網(wǎng)頁(yè)標(biāo)題:java基礎(chǔ)代碼編寫,Java基礎(chǔ)編程
文章源于:http://muchs.cn/article44/hcjjee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)