Java程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的基礎(chǔ)課程,當(dāng)今是"互聯(lián)網(wǎng)+”的時(shí)代,也是信息時(shí)代,如何獲取信息、處理信息,是每個(gè)人都需碰到的事情。無(wú)論網(wǎng)上購(gòu)物,還是移動(dòng)支付,都有信息流的流動(dòng),而支撐這種信息技術(shù)的廣闊應(yīng)用的計(jì)算機(jī)語(yǔ)言就數(shù)Java語(yǔ)言。 根據(jù)TIOBE編程語(yǔ)言社區(qū)排行榜提供編程語(yǔ)言Java不是排在**位就是排在第二位。在云計(jì)算、物聯(lián)網(wǎng)時(shí)代背景下,學(xué)習(xí)并掌握一門編程語(yǔ)言,對(duì)信息化建設(shè)大有益處。 本書采用情境方式,由淺入深,一步一個(gè)腳印全面講解Java編程思想,讓讀者在學(xué)習(xí)過程中,首先證實(shí)Java不難,能夠?qū)W會(huì),其次,Java應(yīng)用就在我們身邊,我們也能用好。
適讀人群 :本書適用于高職院校教材和工程技術(shù)人員參考書,也是廣大Java愛好者自學(xué)良師益友。
當(dāng)今是“互聯(lián)網(wǎng)+”的時(shí)代,也是信息時(shí)代,如何獲取信息、處理信息,是每個(gè)人都需碰到的事情。無(wú)論網(wǎng)上購(gòu)物,還是移動(dòng)支付,都有信息流的流動(dòng),而支撐這種信息技術(shù)的廣闊應(yīng)用的計(jì)算機(jī)語(yǔ)言就數(shù)Java 語(yǔ)言。根據(jù)TIOBE 編程語(yǔ)言社區(qū)排行榜提供編程語(yǔ)言Java 不是排在*一位就是排在第二位。在云計(jì)算、物聯(lián)網(wǎng)時(shí)代背景下,學(xué)習(xí)并掌握一門編程語(yǔ)言,對(duì)信息化建設(shè)大有益處。
本書采用情境方式,由淺入深,一步一個(gè)腳印全面講解Java 編程思想,讓讀者在學(xué)習(xí)過程中,首先證實(shí)Java 不難,能夠?qū)W會(huì),其次,Java 應(yīng)用就在我們身邊,我們也能用好。
當(dāng)今是“互聯(lián)網(wǎng)+”的時(shí)代,也是信息時(shí)代,如何獲取信息、處理信息,是每個(gè)人都需碰到的事情。無(wú)論網(wǎng)上購(gòu)物,還是移動(dòng)支付,都有信息流的流動(dòng),而支撐這種信息技術(shù)的廣闊應(yīng)用的計(jì)算機(jī)語(yǔ)言就數(shù)Java語(yǔ)言。
根據(jù)TIOBE編程語(yǔ)言社區(qū)排行榜提供編程語(yǔ)言Java不是排在第一位就是排在第二位。在云計(jì)算、物聯(lián)網(wǎng)時(shí)代背景下,學(xué)習(xí)并掌握一門編程語(yǔ)言,對(duì)信息化建設(shè)大有益處。
本書采用情境方式,由淺入深,一步一個(gè)腳印全面講解Java編程思想,讓讀者在學(xué)習(xí)過程中,首先證實(shí)Java不難,能夠?qū)W會(huì),其次,Java應(yīng)用就在我們身邊,我們也能用好。
由于Java語(yǔ)言涉及的面較廣,全書將Java知識(shí)點(diǎn)進(jìn)行整合概括,修剪一些枝葉,共分七個(gè)情境,由易到綜合,緊緊圍繞編程精髓——編程思想展開,是作者多年教學(xué)和應(yīng)用Java結(jié)晶。書后附上Java經(jīng)典50問與答,可以幫助編程者更進(jìn)一步理解掌握編程思想精髓并了解這個(gè)行業(yè)的未來(lái)。在編寫過程中也參考了大量Java方面的書籍和網(wǎng)絡(luò)資料,在此對(duì)他們的付出表示誠(chéng)摯謝意。
由于Java是開源,且新技術(shù)不斷推出,再加上時(shí)間緊、作者水平有限,難免出現(xiàn)不足的地方敬請(qǐng)讀者提出批評(píng),讓我們一起為信息化建設(shè)作出努力。
本書是淮南聯(lián)合大學(xué)校級(jí)特色專業(yè)——計(jì)算機(jī)應(yīng)用技術(shù)質(zhì)量工程建設(shè)項(xiàng)目?jī)?nèi)容,同時(shí)也是《Java程序設(shè)計(jì)》精品課程建設(shè)項(xiàng)目。本書由淮南聯(lián)合大學(xué)葉加青、蕪湖職業(yè)技術(shù)學(xué)院張俊、克拉瑪依職業(yè)技術(shù)學(xué)院楊靜擔(dān)任主編,安徽職業(yè)技術(shù)學(xué)院李軍、江蘇海事職業(yè)技術(shù)學(xué)院孫炯寧、呂太之、黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院聶樹成擔(dān)任副主編,重慶三峽職業(yè)學(xué)院余淼、重慶電信職業(yè)學(xué)院段鵬、安徽警官職業(yè)學(xué)院勞雪松、尹向兵、朱珍元、湖南高速鐵路職業(yè)技術(shù)學(xué)院陽(yáng)衛(wèi)文擔(dān)任編委共同編寫完成。全書由葉加青統(tǒng)稿審核。
在編寫過程中,編者參閱了大量的資料,在此向各位參與編寫的作者表示感謝,由于編者水平有限,書中難免存在疏漏之處,歡迎大家批評(píng)指正,衷心希望廣大使用者尤其是任課教師提出寶貴的修訂建議,以便再版時(shí)及時(shí)加以修正。
為了使本書更好地服務(wù)于授課教師的教學(xué),我們?yōu)楸緯淞私虒W(xué)講義、期中、末考卷及答案、PPT課件和課后習(xí)題、答案。如果使用本教材的所有人員,需要配套教學(xué)資源,可上華信教育資源網(wǎng)www.hxedu.com.cn下載。如有問題,可與我們聯(lián)系,聯(lián)系電話:(010)69730296、13331005816。
編 者
2017年12月
葉加青,1989年7月畢業(yè)于安徽師范大學(xué)數(shù)學(xué)系,1994年程序員,2011年合肥工業(yè)大學(xué)碩士畢業(yè),六年企業(yè)大型數(shù)據(jù)庫(kù)信息系統(tǒng)管理與維護(hù)經(jīng)歷,從事數(shù)據(jù)庫(kù)和Java語(yǔ)言程序設(shè)計(jì)課程教學(xué)工作十多年。
主持《計(jì)算機(jī)應(yīng)用技術(shù)》特色專業(yè)建設(shè)。
主持《Java程序設(shè)計(jì)》精品課程建設(shè)。
主持省自然科學(xué)項(xiàng)目《Microsoft時(shí)序算法對(duì)學(xué)生就業(yè)市場(chǎng)預(yù)測(cè)與分析》。
主持省重點(diǎn)科研項(xiàng)目《基于智能計(jì)算水色圖像的水質(zhì)監(jiān)測(cè)方法研究》
模塊一 Java編程基礎(chǔ) 1
情境一:只有一個(gè)main()方法的Java程序 1
任務(wù)1 (1)用C語(yǔ)言輸出"Hello world!"字樣 1
(2)用Java語(yǔ)言輸出"Hello world!"字樣 1
任務(wù)2 已知一個(gè)圓的半徑r=10.2,求出圓的面積 10
任務(wù)3 觀察分析下面程序的運(yùn)行結(jié)果 11
任務(wù)4 加法運(yùn)算符,分析并改正下列代碼,輸出運(yùn)行結(jié)果 17
任務(wù)5 加加運(yùn)算符,Example5.java程序代碼 20
任務(wù)6 三元運(yùn)算符,以命令行方式任意輸入兩個(gè)整數(shù),輸出其中的最大值 21
任務(wù)7 用戶從鍵盤輸入一個(gè)整數(shù),判斷是否為7的倍數(shù),并給出相應(yīng)的
提示信息 23
任務(wù)8 根據(jù)學(xué)生的成績(jī),輸出對(duì)應(yīng)的等級(jí)信息,學(xué)生成績(jī)由程序參數(shù)輸入 24
任務(wù)9 switch經(jīng)典舉例:根據(jù)月份,輸出對(duì)應(yīng)的天數(shù) 27
任務(wù)10 經(jīng)典舉例:求1~100之間的和 29
任務(wù)11 猜數(shù)字游戲,機(jī)器產(chǎn)生一個(gè)1~100之間的隨機(jī)整數(shù),用戶可以反復(fù)猜測(cè)所生成的數(shù)是大是小,在用戶每次猜數(shù)之后,程序給出相應(yīng)的提示信息,直到猜對(duì)為止 30
任務(wù)12 輸出1~9中除6以外所有偶數(shù)的平方 32
情境一總結(jié) 34
鞏固與提高 35
模塊二 面向?qū)ο蟪绦蛟O(shè)計(jì)初步 39
情境二:有兩個(gè)方法的Java程序 39
任務(wù)13 求兩個(gè)數(shù)之和的簡(jiǎn)單程序 39
任務(wù)14 分析下列程序的運(yùn)行結(jié)果 41
情境二總結(jié) 44
鞏固與提高 44
模塊三 面向?qū)窍蟪绦蛟O(shè)計(jì)提高 48
情境三:既有屬性又有方法的Java程序 48
任務(wù)15 定義一個(gè)描述圓的類,并能根據(jù)給定的半徑計(jì)算和顯示圓的面積 48
任務(wù)16 成員屬性(成員變量)與局部變量的區(qū)別 50
任務(wù)17 有返回值方法與無(wú)返回值方法。分析代碼,并寫出運(yùn)行結(jié)果 52
任務(wù)18 編寫一個(gè)類,能實(shí)現(xiàn)計(jì)算兩個(gè)整數(shù)的和,也能計(jì)算三個(gè)整數(shù)的和,
還能計(jì)算兩個(gè)單精度數(shù)據(jù)之和 54
任務(wù)19 有一種方法稱構(gòu)造方法。構(gòu)造方法是類的成員,是方法,但與普通
方法有所不同,所以以一個(gè)任務(wù)來(lái)學(xué)習(xí) 55
任務(wù)20 領(lǐng)會(huì)下述代碼中修飾符public、protected、默認(rèn)、private、static、final
的作用 58
任務(wù)21 面向?qū)ο蟮诙筇卣鳕D―繼承 61
任務(wù)22 面向?qū)ο蟮牡谌筇卣鳕D―多態(tài) 62
任務(wù)23 分析下列程序this關(guān)鍵字、super關(guān)鍵字的作用 65
情境三總結(jié) 67
鞏固與提高 67
模塊四 包與接口的使用 69
情境四:一個(gè)包兩個(gè)類的Java程序 69
任務(wù)24 包的使用一 69
任務(wù)25 包的使用二 72
任務(wù)26 抽象類的定義,抽象類和具體類的關(guān)系,abstract關(guān)鍵字的使用 75
任務(wù)27 定義一個(gè)接口,并定義相應(yīng)的抽象類實(shí)現(xiàn)接口中的方法 77
情境四總結(jié) 82
鞏固與提高 82
模塊五 Java常用類的使用 83
情境五:常用工具Java程序 83
任務(wù)28 生成一個(gè)隨機(jī)整數(shù)數(shù)列并按從小到大排序 83
任務(wù)29 二維數(shù)組舉例。隨機(jī)生成數(shù)組成員長(zhǎng)度不同的二維數(shù)組,完成學(xué)校
各系部和專業(yè)學(xué)生數(shù)的賦值 85
任務(wù)30 字符串處理手段:String類、StringBuffer類、StringTokenizer類 87
任務(wù)31 Date類的使用 97
任務(wù)32 Calendar類的使用 98
任務(wù)33 異常處理類(一) 100
任務(wù)34 異常處理類(二) 104
任務(wù)35 泛型舉例 108
任務(wù)36 泛型接口舉例 111
任務(wù)37 集合框架(一)鏈表LinkList<E>泛型類 112
任務(wù)38 集合框架(二)樹集TreeSet<E>泛型類 113
任務(wù)39 集合框架(三)堆棧Stack<E>泛型類 115
任務(wù)40 集合框架(四)散列映射HashMap<K,V>泛型類 116
任務(wù)41 輸入與輸出(IO流) 118
任務(wù)42 Java制作二維碼 145
情境五總結(jié) 150
鞏固與提高 150
模塊六 網(wǎng)絡(luò)知識(shí)與圖形用戶界面 151
情境六:網(wǎng)絡(luò)五子棋程序剖析與自制記事本 151
任務(wù)43 網(wǎng)絡(luò)五子棋程序 151
任務(wù)44 自制記事本程序 179
情境六總結(jié) 185
鞏固與提高 185
模塊七 數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)編程 186
情境七:網(wǎng)上購(gòu)物系統(tǒng)中數(shù)據(jù)庫(kù)操作剖析 186
任務(wù)45 簡(jiǎn)易商務(wù)網(wǎng)站程序演示 186
情境七總結(jié) 200
鞏固與提高 201
模塊八 Java拓展與方向 202
情境八:Java經(jīng)典[Q&A]50問 202
情境八總結(jié) 230
鞏固與提高 230
參考文獻(xiàn) 231