精心收集整理的教程筆記
第01天 Java基礎(chǔ)入門
第1章計(jì)算機(jī)基礎(chǔ)
1.1?計(jì)算機(jī)
計(jì)算機(jī)(computer)俗稱電腦,是現(xiàn)代一種用于高速計(jì)算的電子計(jì)算機(jī)器,可以進(jìn)行數(shù)值計(jì)算,又可以進(jìn)行邏輯計(jì)算,還具有存儲記憶功能。是能夠按照程序運(yùn)行,自動(dòng)、高速處理海量數(shù)據(jù)的現(xiàn)代化智能電子設(shè)備。由硬件系統(tǒng)和軟件系統(tǒng)所組成,沒有安裝任何軟件的計(jì)算機(jī)稱為裸機(jī)。
1.2?計(jì)算機(jī)應(yīng)用的領(lǐng)域(了解)
1.2.1?科學(xué)計(jì)算
科學(xué)計(jì)算也稱數(shù)值計(jì)算。計(jì)算機(jī)最開始是為解決科學(xué)研究和工程設(shè)計(jì)中遇到的大量數(shù)學(xué)問題的數(shù)值計(jì)算而研制的計(jì)算工具。例如,人造衛(wèi)星軌跡的計(jì)算,房屋抗震強(qiáng)度的計(jì)算,火箭、宇宙飛船的研究設(shè)計(jì)都離不開計(jì)算機(jī)的精確計(jì)算。就連我們每天收聽收看的天氣預(yù)報(bào)都離不開計(jì)算機(jī)的科學(xué)計(jì)算。
1.2.2?數(shù)據(jù)處理
在科學(xué)研究和工程技術(shù)中,會(huì)得到大量的原始數(shù)據(jù),其中包括大量圖片、文字、聲音等信息處理就是對數(shù)據(jù)進(jìn)行收集、分類、排序、存儲、計(jì)算、傳輸、制表等操作。
1.2.3?自動(dòng)控制
自動(dòng)控制是指通過計(jì)算機(jī)對某一過程進(jìn)行自動(dòng)操作,它不需人工干預(yù),能按人預(yù)定的目標(biāo)和預(yù)定的狀態(tài)進(jìn)行過程控制。例如,無人駕駛飛機(jī)、導(dǎo)彈、人造衛(wèi)星和宇宙飛船等飛行器的控制,都是靠計(jì)算機(jī)實(shí)現(xiàn)的。
1.2.4?計(jì)算機(jī)輔助設(shè)計(jì)
計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design,簡稱CAD)是指。借助計(jì)算機(jī)的幫助,人們可以自動(dòng)或半自動(dòng)地完成各類工程設(shè)計(jì)工作。目前CAD技術(shù)已應(yīng)用于飛機(jī)設(shè)計(jì)、船舶設(shè)計(jì)、建筑設(shè)計(jì)、機(jī)械設(shè)計(jì)、大規(guī)模集成電路設(shè)計(jì)等。在京九鐵路的勘測設(shè)計(jì)中,使用計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)繪制一張圖紙僅需幾個(gè)小時(shí),而過去人工完成同樣工作則要一周甚至更長時(shí)間。可見采用計(jì)算機(jī)輔助設(shè)計(jì),可縮短設(shè)計(jì)時(shí)間,提高工作效率,節(jié)省人力、物力和財(cái)力,更重要的是提高了設(shè)計(jì)質(zhì)量。
1.2.5?人工智能
人工智能(Artificial Intelligence,簡稱AI)是指計(jì)算機(jī)模擬人類某些智力行為的理論、技術(shù)和應(yīng)用。例如,用計(jì)算機(jī)模擬人腦的部分功能進(jìn)行思維學(xué)習(xí)、推理、聯(lián)想和決策,使計(jì)算機(jī)具有一定“思維能力”。我國已開發(fā)成功一些中醫(yī)專家診斷系統(tǒng),可以模擬名醫(yī)給患者診病開方。 還有就是機(jī)器人也是計(jì)算機(jī)人工智能的典型例子。
1.2.6?多媒體應(yīng)用
隨著電子技術(shù)特別是通信和計(jì)算機(jī)技術(shù)的發(fā)展,人們已經(jīng)有能力把文本、音頻、視頻、動(dòng)畫、圖形和圖像等各種媒體綜合起來,構(gòu)成一種全新的概念—“多媒體”(Multimedia)。比如一些flash廣告,網(wǎng)頁游戲等。
1.2.7?計(jì)算機(jī)網(wǎng)絡(luò)
計(jì)算機(jī)網(wǎng)絡(luò)是由一些獨(dú)立的和具備信息交換能力的計(jì)算機(jī)互聯(lián)構(gòu)成,以實(shí)現(xiàn)資源共享的系統(tǒng)。如在全國范圍內(nèi)的銀行信用卡的使用,火車和飛機(jī)票系統(tǒng)的使用等。
1.3?計(jì)算機(jī)硬件
計(jì)算機(jī)硬件(Computer Hardware)是指計(jì)算機(jī)系統(tǒng)中由電子,機(jī)械和光電元件等組成的各種物理裝置的總稱。這些物理裝置按系統(tǒng)結(jié)構(gòu)的要求構(gòu)成一個(gè)有機(jī)整體為計(jì)算機(jī)軟件運(yùn)行提供物質(zhì)基礎(chǔ)。
計(jì)算機(jī)通常由CPU、主板、內(nèi)存、電源、主機(jī)箱、硬盤、顯卡、鍵盤、鼠標(biāo),顯示器等多個(gè)部件組成。
1.4?計(jì)算機(jī)軟件
計(jì)算機(jī)軟件是使用計(jì)算機(jī)過程中必不可少的東西,計(jì)算機(jī)軟件可以使計(jì)算機(jī)按照事先預(yù)定好的順序完成特定的功能,計(jì)算機(jī)軟件按照其功能劃分為系統(tǒng)軟件與應(yīng)用軟件
系統(tǒng)軟件:DOS(Disk Operating System), Windows, Linux, Unix, Mac,Windows Phone,Symbian ?Android, iOS
應(yīng)用軟件:office ?QQ聊天 ?YY語音掃雷LOL
1.5?軟件開發(fā)
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。
軟件開發(fā)是一項(xiàng)包括需求捕捉,需求分析,設(shè)計(jì),實(shí)現(xiàn)和測試的系統(tǒng)工程。
軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。
1.6?人機(jī)交互方式
軟件的出現(xiàn)實(shí)現(xiàn)了人與計(jì)算機(jī)之間更好的交互。
交互方式
圖形化界面:這種方式簡單直觀,使用者易于接受,容易上手操作。
命令行方式:需要有一個(gè)控制臺,輸入特定的指令,讓計(jì)算機(jī)完成一些操作。較為麻煩,需要記錄住一些命令。
1.7?鍵盤功能鍵及快捷鍵介紹
1.7.1?鍵盤功能介紹 (詳見功能鍵文檔)
Tab
Shift?
Ctrl
Alt
空格
Enter
Window
上下左右
PrtSc(PrintScreen)屏幕截圖
1.7.2?鍵盤快捷鍵
Ctrl+A全選
Ctrl+C復(fù)制
Ctrl+V粘貼
Ctrl+X剪切
Ctrl+Z撤銷
Ctrl+S保存
1.8?常用的DOS命令
1.8.1?打開DOS命令行的方式
1:開始--程序--附件--命令提示符
2:開始--運(yùn)行—cmd—回車
3:win+r—cmd--回車
1.8.2?常用DOS命令
d:回車盤符切換
dir(directory):列出當(dāng)前目錄下的文件以及文件夾
md (make directory) :創(chuàng)建目錄
rd (remove directory):刪除目錄
cd (change directory)改變指定目錄(進(jìn)入指定目錄)
cd.. :退回到上一級目錄
cd\:退回到根目錄
del (delete):刪除文件,刪除一堆后綴名一樣的文件*.txt
exit :退出dos命令行
cls : (clear screen)清屏
1.8.3?通用快捷鍵
通用快捷鍵適用于廣泛的環(huán)境,在例如Windows的操作系統(tǒng)以及絕大部分的軟件中都適用。需要熟練這些
Ctrl+C ????復(fù)制選中內(nèi)容
Ctrl+V ????粘貼
Ctrl+X ????剪切
Ctrl+A ????全選
Ctrl+Z ????撤銷操作
Ctrl+Y ????恢復(fù)操作(恢復(fù)上一步操作)
Ctrl+S ?保存
第2章?Java概述
2.1?java簡介
2.1.1?Java語言介紹
計(jì)算機(jī)語言:(Computer Language)指用于人與計(jì)算機(jī)之間通訊的語言。計(jì)算機(jī)語言是人與計(jì)算機(jī)之間傳遞信息的媒介。計(jì)算機(jī)系統(tǒng)最大特征是指令通過一種語言傳達(dá)給機(jī)器。為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計(jì)算機(jī)程序的數(shù)字、字符和語法規(guī)劃,由這些字符和語法規(guī)則組成計(jì)算機(jī)各種指令(或各種語句)。這些就是計(jì)算機(jī)能接受的語言。程序員通過這些指令來指揮計(jì)算機(jī)進(jìn)行各種工作。
計(jì)算機(jī)語言主要由機(jī)器語言、匯編語言、高級語言,組成。
機(jī)器語言:毋庸置疑是計(jì)算機(jī)可以直接識別和使用的語言。但是在編程的時(shí)候,通常不會(huì)選擇機(jī)器語言,因?yàn)闄C(jī)器語言都是由二進(jìn)制0或1組成的編碼。不便于編程人員的記憶與識別。
那么匯編和高級語言是編程人員常用的語言.
匯編語言:采用英文縮寫的標(biāo)識符,容易識別和記憶。那么為什么不都用匯編語言編程,這就要解釋什么是高級語言。
高級語言:采用更接近人類的自然語言進(jìn)行編程,進(jìn)一步簡化了程序編程的過程,所以,大多數(shù)編程者會(huì)選擇高級語言。
現(xiàn)在我們講解的Java語言就是高級語言的一種。
2.1.2?Java語言發(fā)展史(了解)?
詹姆斯·高斯林(James Gosling)?
SUN
? ? ??–?(Stanford University Network斯坦福大學(xué)網(wǎng)絡(luò)公司) ?
1995年5月23日,Java語言誕生?
1996年1月 JDK1.0
1997年2月 JDK1.1
1998年12月 JDK1.2(將Java分成了J2SE,J2EE,J2ME)
2000年5月 J2SE1.3
2002年2月 J2SE1.4(1.4.2版本很多公司在使用)
2004年10月 ?JDK1.5(改名JavaSE5.0,JavaEE,JavaME)
2006年12月 JavaSE6.0
2009年04月20日,甲骨文(Oracle)74億美元收購Sun。?
2011年7月 ?JavaSE7.0(市場主流版本)
2014年3月 JavaSE8.0
2017年9月 JavaSE9.0
java語言的特點(diǎn)是,簡單易用、安全可靠、主要面向Internet編程。從問世以來,發(fā)展的就非常迅速。 ?現(xiàn)在市場上絕大多數(shù)企業(yè)應(yīng)用采用Java作為編程語言,Java語言應(yīng)用于服務(wù)器開發(fā),智能家居,網(wǎng)站的后臺維護(hù),手機(jī)應(yīng)用后臺等等。
SUN公司為了讓使用Java語言的開發(fā)人員可以針對特定的市場進(jìn)行開發(fā),SUN公司將Java劃分為三個(gè)版本,分別是 JavaSE ?JavaME ??JavaEE
JavaSE (Java Platform Standard Edition——Java平臺標(biāo)準(zhǔn)版)標(biāo)準(zhǔn)版是為開發(fā)普通桌面和商務(wù)應(yīng)用程序提供的解決方案,JavaSE是三個(gè)平臺最核心的部分,JavaEE和JavaME都是從JavaSE的基礎(chǔ)上發(fā)展而來的,JavaSE平臺包括了Java最核心的類庫,包括,如集合,IO,數(shù)據(jù)庫連接以及網(wǎng)絡(luò)編程等。
JavaEE(Java Platform Enterprise Edition企業(yè))企業(yè)版,是為了開發(fā)企業(yè)級應(yīng)用程序提供的解決方案。JavaEE可以被看做一個(gè)技術(shù)平臺,該平臺用于開發(fā)、裝配以及部署企業(yè)及應(yīng)用程序,其中主要包括Servlet、JSP、JavaBean、JDBC、EJB、WebService等技術(shù)。
JavaME(Java Platform Micro Edition微型)小型版是為了開發(fā)電子消費(fèi)產(chǎn)品和嵌入式設(shè)備提供的解決方案。JavaME主要用于小型數(shù)字電子設(shè)備上的軟件程序的開發(fā)。例如,為家用電器增加智能化控制和聯(lián)網(wǎng)功能,為手機(jī)增加新的游戲和通訊錄管理功能。此外,JavaME提供了HHTTP等高級Internet協(xié)議,是移動(dòng)電話能以Client/Server方式直接訪問Internet的全部信息,提供最高效率的無線交流。
(Java有這些功能,現(xiàn)在基本退出舞臺,由安卓 ios等移動(dòng)端操作語言替代,安卓和Java的關(guān)系大家下去可以去了解一下,簡單的說安卓學(xué)習(xí)也是要必須先學(xué)JavaSE的)
2.1.3?Java技術(shù)應(yīng)用領(lǐng)域
1.Android應(yīng)用
許多的Android應(yīng)用都是Java程序開發(fā)者開發(fā)。雖然Android運(yùn)用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當(dāng)一部分的手機(jī)都支持Java游戲,這就使得很多非編程人員都認(rèn)識了Java。
2.金融應(yīng)用的服務(wù)器程序
Java在金融服務(wù)業(yè)的應(yīng)用非常廣泛,很多第三方交易系統(tǒng)、銀行、金融機(jī)構(gòu)都選擇用Java開發(fā),因?yàn)橄鄬Χ裕琂ava較安全。大型跨國投資銀行用Java來編寫前臺和后臺的電子交易系統(tǒng),結(jié)算和確認(rèn)系統(tǒng),數(shù)據(jù)處理項(xiàng)目以及其他項(xiàng)目。大多數(shù)情況下,Java被用在服務(wù)器端開發(fā),但多數(shù)沒有任何前端,他們通常是從一個(gè)服務(wù)器(上一級)接收數(shù)據(jù),處理后發(fā)向另一個(gè)處理系統(tǒng)(下一級處理)。
3.網(wǎng)站
Java在電子商務(wù)領(lǐng)域以及網(wǎng)站開發(fā)領(lǐng)域占據(jù)了一定的席位。開發(fā)人員可以運(yùn)用許多不同的框架來創(chuàng)建web項(xiàng)目,springmvc,Struts2.0以及framework(框架,三個(gè)主要部分: 服務(wù)端、客戶端和Linux驅(qū)動(dòng))。即使是簡單的servlet,jsp和以struts為基礎(chǔ)的網(wǎng)站在征服項(xiàng)目中也經(jīng)常被用到。例如醫(yī)療救護(hù)、保險(xiǎn)、教育、國防以及其他的不同部門網(wǎng)站都是以Java為基礎(chǔ)來開發(fā)的。
4.嵌入式領(lǐng)域
Java在嵌入式領(lǐng)域發(fā)展空間很大。在這個(gè)平臺上,只需130KB就能夠使用Java技術(shù)(在只能卡或者傳感器上)。
5.大數(shù)據(jù)技術(shù)
Hadoop(Apache05年開發(fā)分布式系統(tǒng)基礎(chǔ)架構(gòu))以及其他大數(shù)據(jù)處理技術(shù)很多都是用的Java,例如Apache的技術(shù)Java的HBase(一個(gè)分布式的、面向列的開源數(shù)據(jù)庫,HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目)和Accumulo(是一個(gè)可靠的、可伸縮的、高性能的排序分布式的 Key-Value 存儲解決方案,基于單元訪問控制以及可定制的服務(wù)器端處理)以及ElasticSearch(ES是一個(gè)基于Lucene并采用Restful API 標(biāo)準(zhǔn)的高可擴(kuò)展性和高可用性的實(shí)時(shí)數(shù)據(jù)分析的全文檢索工具。)說沒有Java就沒有大數(shù)據(jù)一點(diǎn)也不為過。
6.高頻交易的空間
Java平臺提高了這個(gè)平臺的特性和即時(shí)編譯,他同時(shí)也能夠想C++一樣傳遞數(shù)據(jù),正是由于這個(gè)原因,Java成為程序員編寫交易平臺的首選語言,雖然性能不比C++,但開發(fā)人員可以避開安全性,可移植性和維護(hù)性等問題。
7.科學(xué)應(yīng)用
Java在科學(xué)應(yīng)用中是很好的選擇,包括自然語言處理。最主要的原因是因?yàn)镴ava比C++或者其他相對安全性、便攜性、可維護(hù)性以及其他高級語言的并發(fā)性更好。
2.1.4?Java語言特點(diǎn)
Java應(yīng)用廣泛,受到大眾的歡迎,其根本原因是Java語言的眾多突出優(yōu)點(diǎn)(優(yōu)點(diǎn)肯定是與其他高級語言相比較得來的)
介紹幾個(gè)主要的特點(diǎn)
2.1.4.1?簡單:
Java看起來設(shè)計(jì)的很像C++,但是為了是語言小和容易熟悉,設(shè)計(jì)者把C++語言種許多可用的特征去掉了,這些特征是一般程序員很少使用的,例如:Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(重載overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。Java能夠自動(dòng)處理對象的引用和間接引用,實(shí)現(xiàn)自動(dòng)的無用單元收集,(垃圾回收機(jī)制)使用戶不必為存儲(內(nèi)存)管理問題煩惱,能把更多的時(shí)間和精力花在研發(fā)上。
2.1.4.2?面向?qū)ο螅?/b>
Java是一個(gè)面向?qū)ο蟮恼Z言,對程序員來說,這意味著要注意應(yīng)用數(shù)據(jù)和操作數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過程來思考。在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法和集合。數(shù)據(jù)和方法一起描述對象(object)的狀態(tài)和行為。每一對象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個(gè)類層次體系中有一個(gè)根類,它是具有一般行為的類。Java程序是用來組織的。
為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字implements)。Java語言全面支持動(dòng)態(tài)綁定,而C++語言只對函數(shù)使用動(dòng)態(tài)綁定。
Java還包括一個(gè)類的擴(kuò)展集合,分別組成各種程序包(package),用戶可以在自己的程序中使用。例如,Java提供產(chǎn)生圖形用戶接口的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing tookit)的縮寫,處理輸入輸出的類(java.io包)和支持網(wǎng)絡(luò)功能的類(java.net包)。
2.1.4.3?分布式
Java設(shè)計(jì)成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語言,Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類支持可靠的流(steam)網(wǎng)絡(luò)連接,所以用戶可以產(chǎn)生分布式的客戶機(jī)和服務(wù)器。
網(wǎng)絡(luò)變成軟件應(yīng)用的分布運(yùn)載工具。Java程序只需編寫一次,就可到處運(yùn)行。
2.1.4.4?穩(wěn)健性
Java原來是用作編寫消費(fèi)類家用電子產(chǎn)品軟件的語言,所以他是被設(shè)計(jì)成高可靠和穩(wěn)健軟件的。Java消除了某些編程錯(cuò)誤,使得用它寫可靠軟件相當(dāng)容易。
Java是一個(gè)強(qiáng)類型語言,它允許擴(kuò)展編譯時(shí)檢查潛在類型不匹配問題的功能。Java要求顯示方法聲明,它不支持C語言風(fēng)格的隱式聲明。這些嚴(yán)格的要求保證編譯程序能捕捉調(diào)用錯(cuò)誤,這就導(dǎo)致會(huì)開發(fā)出更可靠的程序。
可靠性方面最重要的增強(qiáng)之一是Java的存儲模型。Java不支持指針,它消除重新存儲和訛誤(文字錯(cuò)誤;字句上的疏漏差誤)數(shù)據(jù)。類似的,Java自動(dòng)的“無用單元收集”預(yù)防存儲漏泄和其它有關(guān)動(dòng)態(tài)存儲分配和解除分配的有害錯(cuò)誤。Java解釋程序員也執(zhí)行許多運(yùn)行時(shí)的檢查,諸如驗(yàn)證所有數(shù)組和串訪問是否在界限之內(nèi)。
2.1.4.5?安全性
Java的存儲分配模型是它防御惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內(nèi)幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實(shí)際存儲安排。編譯的Java代碼中存儲引用在運(yùn)行時(shí)由Java解釋程序決定實(shí)際存儲地址。
Java運(yùn)行系統(tǒng)使用字節(jié)碼驗(yàn)證過程保證裝載到網(wǎng)絡(luò)上的代碼不違背任何Java語言限制。這個(gè)安全機(jī)制部分包括類如何從網(wǎng)上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預(yù)防惡意的小應(yīng)用程序用它自己的版本來代替標(biāo)準(zhǔn)Java類。
Java語言不支持指針,一切對內(nèi)存的訪問都必須通過對象的實(shí)例變量來實(shí)現(xiàn),從而使應(yīng)用更安全。
2.1.4.6?可移植性(跨平臺)
Java使得語言聲明不依賴與實(shí)現(xiàn)的方面。例如,Java顯示說明每個(gè)基本數(shù)據(jù)類型的大小和它的運(yùn)算行為(這些數(shù)據(jù)類型由Java語法描述)。
Java環(huán)境本身對新的硬件平臺和操作系統(tǒng)是可移植的。Java編譯程序也用Java編寫,而Java運(yùn)行系統(tǒng)用ANSIC語言編寫。
2.1.4.7?高性能
Java是一種先編譯后解釋的語言,所以他不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設(shè)計(jì)者制作了“及時(shí)”編譯程序,它能在運(yùn)行時(shí)吧Java字節(jié)碼翻譯成特定CPU(中央處理器)的機(jī)器代碼,也就是實(shí)現(xiàn)全編譯了。
Java字節(jié)碼格式設(shè)計(jì)時(shí)考慮到這些“及時(shí)”編譯程序的需要,所以生成機(jī)器代碼的過程相當(dāng)簡單,它能產(chǎn)生相當(dāng)好的代碼。
2.1.4.8?支持多線程
Java語言是支持多線程的,所謂的多線程可以簡單地理解為程序中有多個(gè)任務(wù)可以并發(fā)執(zhí)行,這樣可以在很大程度上提高程序的執(zhí)行效率。
第3章Java開發(fā)環(huán)境
3.1?JDK與JRE
JRE為Java的運(yùn)行時(shí)環(huán)境,是運(yùn)行Java程序依賴的。如果僅僅是運(yùn)行已經(jīng)存在的Java程序,只安裝JRE即可。
JDK為Java的開發(fā)環(huán)境,是開發(fā)時(shí)依賴的。包含JRE。
沒有JDK的話,無法編譯Java程序,如果想只運(yùn)行Java程序,要確保已安裝相應(yīng)的JRE。
Java語言通過在不同的操作系統(tǒng)上安裝對應(yīng)的Java虛擬機(jī)實(shí)現(xiàn)了跨平臺, 即java的.class程序可以在不同操作系統(tǒng)上均可以運(yùn)行。(java的.class文件相當(dāng)于Windows中的.exe文件,是可執(zhí)行的程序)
?java語言是跨平臺的,java虛擬機(jī)不是跨平臺的。
3.1.1?安裝操作系統(tǒng)(推薦Windows7)
3.1.2?下載并安裝Java,這里使用JDK7
下載
第一步:訪問下載地址:http://www.oracle.com/cn/index.html
第二步:找到下載界面
第三步:尋找JDK7
第四步:尋找JDK7歷史版本,這里為了統(tǒng)一全程我們使用7u72
第五步:同意協(xié)議
安裝
第一步:雙擊打開安裝文件,注意安裝與操作系統(tǒng)對應(yīng)版本
第二步:下一步,選擇安裝路徑?,注意:不要選擇帶中文及特殊符號的路徑,也盡量不要安裝到C盤
第三步:下一步,選擇是否安裝JRE,這里我們選擇安裝(可以不安裝,開發(fā)中我們只裝jdk就行)
第四步:下一步,驗(yàn)證jdk安裝成功
i.?win+r運(yùn)行cmd,打開dos窗口
ii.?使用cd命令進(jìn)入jdk安裝目錄下的bin目錄
iii.?輸入javac屏幕輸出幫助信息即安裝成功
以下為截圖形式的具體步驟
下載
第一步:訪問下載地址:http://www.oracle.com/cn/index.html
第二步:找到下載界面
第三步:尋找JDK7
第四步:尋找JDK7歷史版本,這里為了統(tǒng)一全程我們使用7u51
第五步:同意協(xié)議
安裝
第一步:雙擊打開安裝文件
第二步:下一步,選擇安裝路徑,注意:不要選擇帶中文及特殊符號的路徑,也盡量不要安裝到C盤。
第三步:下一步,選擇是否安裝JRE,這里我們選擇安裝(可以不安裝,開發(fā)中我們只需要安裝jdk)。
3.1.3?驗(yàn)證jdk安裝成功
a)?DOS命令
java的安裝驗(yàn)證需要用到DOS命令行窗口,并且在Java前期開發(fā)階段,需要使用到DOS窗口完成程序,而DOS為命令行交互方式,需要使用到其功能指令。
DOS控制臺打開方式(Windows7以上)
????????Windows+R ??→ ??輸入CMD(cmd) ??( 推薦)
????????開始 ?→ ?所有程序 ?→ ??附件 ?→ ??命令提示符
用于簡單開發(fā)的DOS指令
dir ?顯示一個(gè)目錄中的文件和子目錄
cd ?進(jìn)入某個(gè)文件夾 ??
cd.. 返回上一級目錄
cd\ ?直接返回盤符
: ?切換盤符
cls ?清屏
b)?驗(yàn)證java安裝是否成功
win+r運(yùn)行cmd,打開dos窗口
使用cd進(jìn)入jdk安裝目錄下的bin目錄
輸入javac出以下頁面就是安裝成功了
DOS命令行是我們前期運(yùn)行Java程序的環(huán)境。因?yàn)镴ava程序在windows下無法直接運(yùn)行。
3.1.4?Jdk包JDK包含的基本組件包括:
javac– 編譯器,將源程序轉(zhuǎn)成字節(jié)碼
jar– 打包工具,將相關(guān)的類文件打包成一個(gè)文件
javadoc– 文檔生成器,從源碼注釋中提取文檔
jdb– debugger,查錯(cuò)工具
java – 運(yùn)行編譯后的java程序(.class后綴的)
appletviewer?- 小程序?yàn)g覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。
Javah?- 產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件。
Javap-?Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。
Jconsole ?- Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具含的基本組件
3.1.5?Java開發(fā)常用包
java.lang: 這個(gè)是系統(tǒng)的基礎(chǔ)類,比如String等都是這里面的,這個(gè)包是唯一一個(gè)可以不用引入(import)就可以使用的包。
java.io: 這里面是所有輸入輸出有關(guān)的類,比如文件操作等。
java.nio:為了完善io包中的功能,提高io包中性能而寫的一個(gè)新包 ,例如NIO非堵塞應(yīng)用
java.net:這里面是與網(wǎng)絡(luò)有關(guān)的類,比如URL,URLConnection等。
java.util: 這個(gè)是系統(tǒng)輔助類,特別是集合類Collection,List,Map等。
java.sql: 這個(gè)是數(shù)據(jù)庫操作的類,Connection, Statement,ResultSet等。
javax.servlet:這個(gè)是JSP,Servlet等使用到的類。
3.1.6?配置Windows的path環(huán)境變量
我們配置path的目的是讓Java的bin目錄下的javac命令可以在任意目錄下執(zhí)行,無需進(jìn)入到j(luò)avac所在的目錄就可以找到j(luò)avac.exe命令,方便完成程序。
a)?方式一
配置步驟:
右鍵點(diǎn)擊計(jì)算機(jī) ?→ ?選擇屬性 ?→ ?更改設(shè)置 ?→ ?點(diǎn)擊高級 ?→ ?點(diǎn)擊環(huán)境變量 ?→ ?找到系統(tǒng)變量中的path ?→ ?將java安裝目錄下javac所在的bin目錄路徑配置到path變量中,用;(英文)與其他變量分隔
注:
配置path后文件的訪問順序:先訪問當(dāng)前路徑,如果當(dāng)前路徑?jīng)]有該文件,則再訪問path配置的路徑
c)?方式二(專用于JAVA)
除了案例中直接配置path的方式外,針對Java還可以使用第二種JAVA_HOME的方式進(jìn)行配置:
右鍵點(diǎn)擊計(jì)算機(jī) ?→ ?選擇屬性 ?→ ?更改設(shè)置 ?→ ?點(diǎn)擊高級 ?→ ?點(diǎn)擊環(huán)境變量 ?→ ?創(chuàng)建名為JAVA_HOME的環(huán)境變量 ?→ ?將java所在的目錄路徑配置到JAVA_HOME變量中,用;與其他變量分隔 ?→ ?在path環(huán)境變量中添加%JAVA_HOME%\bin
3.1.6.1?classpath環(huán)境變量配置方式(擴(kuò)展)
創(chuàng)建新的變量名稱:classpath
值設(shè)定為指定的還有class文件的目錄,多個(gè)目錄間使用分號(;)分割
作用:使classpath目錄中的.class文件可以在任意目錄運(yùn)行
技巧:通常將配置的目錄最前面添加.配置,即便當(dāng)前目錄,使.class文件搜索時(shí)首先搜索當(dāng)前目錄,然后根據(jù)目錄配置的順序依次查找,找到后即運(yùn)行,因此classpath目錄中的配置存在先后順序
jdk1.5版本之前必須配置classpath,jvm虛擬機(jī)才能找到.class文件,1.5版本以后jvm虛擬機(jī)會(huì)默認(rèn)在當(dāng)前目錄去找.class文件,所以我們現(xiàn)在的1.7版本千萬別配置classpath,因?yàn)闆]有意義
3.1.6.2?在Windows下(擴(kuò)展)
設(shè)置運(yùn)行環(huán)境參數(shù):
a.如果是Win95、Win98,在\autoexec.bat的最后面添加如下3行語句:
set JAVA_HOME=JDK安裝目錄
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib
注意:---可用dos命令notepad c:\autoexec.bat打開記事本,加入上面的3行語句。
b.如果是Win2000、WinXP系統(tǒng),使用鼠標(biāo)右擊“我的電腦”->屬性->高級->環(huán)境變量
系統(tǒng)變量->新建->變量名:JAVA_HOME 變量值:JDK安裝目錄
系統(tǒng)變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib
系統(tǒng)變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;
c.如果是Vista、Win7、Win8系統(tǒng),使用鼠標(biāo)右擊“計(jì)算機(jī)”->屬性->左側(cè)高級系統(tǒng)設(shè)置->高級->環(huán)境變量
系統(tǒng)變量->新建->變量名:JAVA_HOME 變量值:JDK安裝目錄
系統(tǒng)變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib
系統(tǒng)變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;
(CLASSPATH中有一英文句號“.”后跟一個(gè)分號,表示當(dāng)前路徑的意思)
(使用命令行的方法設(shè)置環(huán)境變量,只會(huì)對當(dāng)前窗口生效)
(改Path變量時(shí),不是刪除原有的值而是添加新的路徑)
3.1.6.3?在LINUX下(擴(kuò)展)
UbuntuLinux下jdk的安裝與配置
1.安裝
從sun公司網(wǎng)站www.sun .com下載linux版本的jdk
打開終端,用cd命令進(jìn)入jdk所在目錄,執(zhí)行復(fù)制命令
sudo cp jdk-6u7-linux-i586.bin /usr
即將jdk復(fù)制到/usr目錄下
然后進(jìn)入/usr目錄
cd /usr
執(zhí)行權(quán)限
chmod +x jdk-6u7-linux-i586.bin
執(zhí)行安裝命令
./jdk-6u21-linux-i586.bin
(文件名)
如遇錯(cuò)誤,可先切換至root用戶下,su root,再執(zhí)行安裝命令
安裝成功會(huì)在/usr目錄下生成jdk1.6.0_07目錄,就是jdk的安裝目錄
重啟電腦,打開終端,輸入java -version
如若有顯示java的版本信息,則表示安裝成功,
2.配置
安裝成功后需要配置jdk環(huán)境變量
用cd命令進(jìn)入/etc目錄
sudo vi profile
即執(zhí)行編輯profile文件命令
在umas k022前添加如下內(nèi)容:
export JAVA_HOME=/usr/jdk1.6.0_21
export JRE_HOME=/usr/jdk1.6.0_21/jre
export PATH=$PATH:/usr/jdk1.6.0_21/bin
export CLASSPATH=./:/usr/jdk1.6.0_21/lib:/usr/jdk1.6.0_21/jre/lib
保存退出,重啟電腦
3.測試
新建Test.java
public class Test{
public static void main(String[] args){
System.out.println("Hello,Welcome to Linux World!");
}
}
在終端用cd命令進(jìn)入Test.java目錄,然后輸入
javac Test.java
java Test
若輸出
Hello,Welcome to Linux World!
則表明配置成功!
如不能通過編譯,可通過重新啟動(dòng)系統(tǒng)試試
4.注意
在用vi命令編輯profile文件時(shí),Linux初學(xué)者可能還不熟用
sudo vi profile進(jìn)入編輯文件后如出現(xiàn)
Press ENTER or type command to continue
則按回車
然后按方向鍵“下”直到umas k022前一行
按字母o進(jìn)入編輯狀態(tài)
輸入環(huán)境變量內(nèi)容
回車,按幾次ESC鍵,直到聽到"嘀"聲,輸入
:x
回車
即保存退出
至此,Linux jdk環(huán)境變量配置完成
如果安裝完成時(shí)候在終端輸入:java -version不顯示當(dāng)前的安裝版本的話
則需要卸載原先的版本即可。
yum -y remove
例如:centos版本
[root@localhost /]# yum -y remove java-1.4.2-gcj-compat卸載它。
[root@localhost soft]# chmod 700 jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# ./jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# mv jdk1.5.0_13/ /usr/local/
為了方便以后升級,建立軟鏈接
[root@localhost local]# ln -s /usr/local/jdk1.5.0_13/ /usr/local/jdk
定義環(huán)境變量
[root@localhost local]# vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ok,至此java環(huán)境配置完畢
3.2?Java開發(fā)工具
簡單的開發(fā)工具:用于編寫源代碼文件
notepad windows自帶的記事本。
3.2.1? 高級記事本與其他開發(fā)工具?:
用于編寫源代碼文件
Editplus
Notepad++
UEditor
sublime2
HBuilder
Dreamweaver
3.2.1.1?EditPlus簡介
EditPlus是一款由韓國 Sangil Kim (ES-Computing)出品的小巧但是功能強(qiáng)大的可處理文本、HTML和程序語言的Windows編輯器,你甚至可以通過設(shè)置用戶工具將其作為C,Java,Php等等語言的一個(gè)簡單的IDE。
3.2.1.2?Notepad++簡介
Notepad++是 Windows操作系統(tǒng)下的一套文本編輯器(軟件版權(quán)許可證: GPL),有完整的中文化接口及支持多國語言編寫的功能(UTF8技術(shù))。
Notepad++功能比 Windows 中的 Notepad(記事本)強(qiáng)大,除了可以用來制作一般的純文字說明文件,也十分適合編寫計(jì)算機(jī)程序代碼。Notepad++ 不僅有語法高亮度顯示,也有語法折疊功能,并且支持宏以及擴(kuò)充基本功能的外掛模組。
Notepad++是免費(fèi)軟件,可以免費(fèi)使用,自帶中文,支持眾多計(jì)算機(jī)程序語言: C,C++,Java,pascal,C#,XML,SQL,Ada,HTML,PHP,ASP, AutoIt, 匯編, DOS批處理, Caml, COBOL, Cmake, CSS,D, Diff, ActionScript, Fortran, Gui4Cli, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make處理(Makefile), Matlab,
INI文件,MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python, Javascript,Verilog,Haskell,InnoSetup,CMake,VHDL,AutoIt,Matlab
3.2.1.3?UEditor簡介
UEditor是由百度WEB前端研發(fā)部開發(fā)的所見即所得的開源富文本編輯器,具有輕量、可定制、用戶體驗(yàn)優(yōu)秀等特點(diǎn)。開源基于BSD協(xié)議,所有源代碼在協(xié)議允許范圍內(nèi)可自由修改和使用。百度UEditor的推出,可以幫助不少網(wǎng)站開發(fā)者在開發(fā)富文本編輯器所遇到的難題,節(jié)約開發(fā)者因開發(fā)富文本編輯器所需要的大量時(shí)間,有效降低了企業(yè)的開發(fā)成本。
3.2.1.4?Sublime 簡介
Sublime Text是一個(gè)代碼編輯器(Sublime Text 2是收費(fèi)軟件,但可以無限期試用),也是HTML和散文先進(jìn)的文本編輯器。Sublime Text是由程序員Jon Skinner于2008年1月份所開發(fā)出來,它最初被設(shè)計(jì)為一個(gè)具有豐富擴(kuò)展功能的Vim。
Sublime Text具有漂亮的用戶界面和強(qiáng)大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Sublime Text 的主要功能包括:拼寫檢查,書簽,完整的 Python API , Goto 功能,即時(shí)項(xiàng)目切換,多選擇,多窗口等等。Sublime Text 是一個(gè)跨平臺的編輯器,同時(shí)支持Windows、Linux、Mac OS X等操作系統(tǒng)。
3.2.1.5?HBuilder簡介
HBuilder的編寫用到了Java、C、Web和Ruby。HBuilder本身主體是由Java編寫,它基于Eclipse,所以順其自然地兼容了Eclipse的插件
3.2.1.6?Dreamweaver簡介
Adobe Dreamweaver,簡稱“DW”,中文名稱 "夢想編織者",是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,DW是第一套針對專業(yè)網(wǎng)頁設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁。
3.2.2?集成Java開發(fā)工具(IDE),
用于編寫源代碼文件,并且負(fù)責(zé)編譯與運(yùn)行等其他操作。
Eclipse(最常用)
MyEclipse = Eclipse +插件
Netbeans(AWT圖形)
IDEA
3.2.2.1?MyEclipse簡介
MyEclipse,是在eclipse 基礎(chǔ)上加上自己的插件開發(fā)而成的功能強(qiáng)大的企業(yè)級集成開發(fā)環(huán)境,主要用于Java、Java EE以及移動(dòng)應(yīng)用的開發(fā)。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持相當(dāng)不錯(cuò)。
3.2.2.2?IDEA簡介
IDEA全稱 IntelliJ IDEA,是java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、J2EE支持、各類版本工具(git、svn、github等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國的首都布拉格,開發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費(fèi)版只支持Java等少數(shù)語言。
3.2.2.3?NetBeans簡介
NetBeans由Sun公司(2009年被甲骨文收購)在2000年創(chuàng)立,它是開放源代碼以及開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級的Java IDE。NetBeans當(dāng)前可以在Solaris、Windows、Linux和Macintosh OS X平臺上進(jìn)行開發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用。
3.2.3?Eclipse簡介
Eclipse是一個(gè)專門針對Java的集成開發(fā)工具,是IBM公司的產(chǎn)品。是免費(fèi)、開源、由Java語言編寫。所以,需要有JRE運(yùn)行環(huán)境并配置好環(huán)境變量。
MyEclipse在Eclipse的基礎(chǔ)上具有良好的擴(kuò)展插件功能,但是針對插件收費(fèi)。
3.2.4?Eclipse安裝與基本使用
d)?下載與安裝
通過http://eclipse.org/可以直接下載eclipse,下載對應(yīng)操作系統(tǒng)版本,直接解壓即可使用。
e)?基本使用
選擇工作空間
選擇默認(rèn)的Java項(xiàng)目目錄
建立Java項(xiàng)目
在左邊空白處或者點(diǎn)擊菜單File,建立Java項(xiàng)目,在界面中寫入一個(gè)項(xiàng)目名稱,然后Finish即可。
創(chuàng)建包
在src下建立一個(gè)普通包。包名:cn.javahelp
在cn.itcast包下建立一個(gè)類
在界面中寫一個(gè)類名:HelloWorld。
并選擇讓main方法也被創(chuàng)建。
然后Finish即可。
在類中寫功能
在main里面寫一條輸出語句。
編譯
編譯:自動(dòng)編譯。在保存的那一刻已經(jīng)幫你編譯好了,如果有問題,會(huì)報(bào)錯(cuò)。
運(yùn)行
點(diǎn)擊蟲子后面的綠色內(nèi)在三角形按鈕或者點(diǎn)擊Run菜單下的run。
或者使用快捷鍵 Ctrl+F11
或者選擇要運(yùn)行的文件或者在要運(yùn)行的文件內(nèi)容中右鍵 -- Run as - Java Application即可。
查看控制臺
運(yùn)行后看到Console即可,它就是Eclipse自帶的控制臺。
3.2.5?Eclipse簡單配置
window -- Preferences – Java中有許多對Java編程的配型項(xiàng),如下:
3.2.5.1?編譯環(huán)境與運(yùn)行環(huán)境配置
編譯環(huán)境:Compiler 默認(rèn)選中的就是最高版本。
運(yùn)行環(huán)境:Installed JREs 默認(rèn)會(huì)找你安裝的那個(gè)JDK。建議配置了Java的環(huán)境變量。
問題:
低編譯,高運(yùn)行。可以。
高編譯,低運(yùn)行。不可以。
建議,編譯和運(yùn)行的版本一致。
3.2.5.2?其他配置
去掉默認(rèn)注釋
window -- Preferences -- Java -- Code Style -- ?
Code Templates
選擇右邊你不想要的內(nèi)容,通過Edit編輯。
注意:請值刪除注釋部分,不是注釋部分的不要?jiǎng)h除。
行號的顯示和隱藏
顯示:在代碼區(qū)域的最左邊的空白區(qū)域,右鍵 -- Show Line Numbers即可。
Java字體大小及顏色
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java
控制臺和其他文件字體大小及顏色
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
重置窗口
window -- Reset Perspective
3.2.8?Eclipse其他功能
3.2.8.1?Eclipse提高開發(fā)效率
Eclipse提供了大量的快捷鍵,方便日常開發(fā),提高開發(fā)效率。
由于快捷鍵眾多,這里不一一介紹,請參照《Eclipse快捷鍵大全》
3.2.8.2?項(xiàng)目導(dǎo)入導(dǎo)出
在項(xiàng)目空白區(qū)域右鍵
找到Import
找到General,展開,并找到Existing Projects into Workspace
點(diǎn)擊next,然后在一個(gè)新的界面中選擇你要導(dǎo)入的項(xiàng)目路徑。
注意:
不能有相同名稱的Java項(xiàng)目
.project文件中的項(xiàng)目名稱需要與項(xiàng)目名稱一致
3.2.9?Eclipse的斷點(diǎn)調(diào)試
3.2.9.1?作用
查看程序執(zhí)行流程和調(diào)試程序
3.2.9.2?步驟
哪里加
想加哪里就加哪里,一般是加在我們看不懂的地方
如何加
在代碼區(qū)域的最左邊雙擊即可
怎么運(yùn)行斷點(diǎn)的程序
代碼區(qū)域 -- 右鍵 -- Debug as -- Java Application
會(huì)彈出一個(gè)頁面讓我們選擇是否進(jìn)入debug模式,選擇yes
點(diǎn)哪里
Step Over 執(zhí)行下一步
快捷鍵F6
看哪里
代碼區(qū)域:看程序的執(zhí)行步驟
Debug區(qū)域:看程序的執(zhí)行步驟
Variables:看變量的創(chuàng)建,賦值,銷毀等
Console:看程序的輸入和輸出
如何消除斷點(diǎn)
把加斷點(diǎn)的動(dòng)作再來一遍
在Debug視圖中,找到Breakpoints,選中斷點(diǎn),點(diǎn)擊雙x即可
public?class?Demo01Debug {
public?static?void?main(String[] args) {
int?a?= 10;
int?b?= 20;
int?c?= a?+ b;
System.out.println(c);
}
}
3.2.10?Eclipse高級使用
3.2.10.1?文檔注釋導(dǎo)出幫助文檔
在eclipse使用時(shí),可以配合文檔注釋,導(dǎo)出對類的說明文檔,從而供其他人閱讀學(xué)習(xí)與使用。
使用文檔注釋,將類或者方法進(jìn)行注釋用@簡單標(biāo)注基本信息,如@author 作者等。
使用eclpise導(dǎo)出,導(dǎo)出javadoc文檔即可。
3.2.10.2?項(xiàng)目的jar包導(dǎo)出
jar包是.class的壓縮文件,一般一個(gè)jar包中包含許多.class文件。我們可以將一個(gè)jar包加入到項(xiàng)目的依賴中,從而該項(xiàng)目可以使用該jar下的所有類。
加入jar包的過程是將.class加入到classpath當(dāng)中去,讓項(xiàng)目識別,以下是加入步驟:
1.根文件夾下創(chuàng)建lib文件夾,用于同一管理所有的jar文件
2.右鍵點(diǎn)擊jar文件,點(diǎn)擊Build Path,選擇Add to Build Path,此時(shí)查看根文件夾下的.classpath文件,發(fā)現(xiàn)新加入的jar包路徑被配置到了該文件中。
注意:
Jar包加入后,必須Add to Build Path才能使用
Jar包加入后,加入的類也必須導(dǎo)包,如果加入的類其包名與現(xiàn)有類包名相同,則視作在同一個(gè)包下。(不常見)
本次講解方式并不是唯一一種方式,還有其他加入jar包的方式。
第4章?第一個(gè)程序HelloWorld!
4.1?Java程序介紹
在開始案例之前,我們需要了解一下Java應(yīng)用程序的編寫流程。
通過上圖我們可以了解到編寫的程序大致如下;
1.?源文件:編寫Java源文件(我們也稱之為源代碼文件),它的擴(kuò)展名為.java;
2.?編譯:然后通過編譯器把源文件編譯成字節(jié)碼文件,字節(jié)碼文件擴(kuò)展名為.class;
3.?運(yùn)行:最后使用解釋器來運(yùn)行字節(jié)碼文件。
4.2?安裝高級記事本
我們可以使用簡單的Windows自帶的記事本,但是該編輯器功能過于簡單,為了方便開發(fā),我們建議大家安裝功能更為強(qiáng)大的文本編輯器,常見的如下:
editplus:需要購買
notepad++:免費(fèi)(課上使用版本) ,注意修改編碼,由utf-8修改為ANSI(首選項(xiàng))
我們直接用eclipse ??記事本編輯也會(huì)演示。
4.3?程序編寫
我們在整個(gè)Java學(xué)習(xí)階段均是在學(xué)習(xí)如何完成軟件編寫,由于到目前為止,沒有學(xué)習(xí)任何語法,所以在HelloWorld案例當(dāng)中,我們直接使用模板代碼,完成編寫過程。
程序的編寫過程與寫文檔類似,只是文檔是.txt文件,其內(nèi)容為文字。Java程序員編寫的代碼又叫源代碼,是.java文件,其內(nèi)容為符合Java語法的代碼。
4.4?程序編譯
4.4.1?編譯
編譯是Java程序完成的必不可少的過程,是將源代碼.java文件,轉(zhuǎn)為Java程序.class文件的過程,即程序員寫的源代碼與真正運(yùn)行的java程序并不是一個(gè)文件。所以需要將程序員寫的java源代碼生成可以運(yùn)行的Java程序(.class文件)。我們使用Java提供的Javac.exe完成java文件編譯成.class文件。
Windows通過Javac.exe將.java文件生成對應(yīng)的.class文件。
4.4.2?編譯步驟
編譯動(dòng)作與后邊的運(yùn)行動(dòng)作都需要使用到DOS界面,現(xiàn)在可以將DOS簡單的理解為命令行界面。因?yàn)閖ava的編譯命令javac.exe,與后邊學(xué)習(xí)的運(yùn)行命令java.exe在windows下無法直接運(yùn)行,必須使用命令行界面。
開啟DOS窗口。打開方式:win+r運(yùn)行cmd。
開啟DOS窗口后,使用CD命令將目錄切換到.java所在目錄
這里涉及到簡單DOS命令:
盤符:切換到指定盤符(如C盤,D盤)
cd:用于進(jìn)入到指定文件夾
cd ?.java文件所在目錄
使用javac命令編譯
javac是安裝Java后,Java的編譯工具,使用該工具,完成 .java轉(zhuǎn)為.class文件,調(diào)用完該命令后會(huì)在.java所在的文件夾下生成對應(yīng)的.class文件,該文件就是真正可運(yùn)行的程序。
javac ?XXX.java ?→ ?XXX.class
4.5?程序運(yùn)行
JavaSE基礎(chǔ)階段的Java程序運(yùn)行是一個(gè)很簡單的步驟,直接使用java,但是需要同學(xué)們嚴(yán)格區(qū)分程序編寫與程序運(yùn)行,不要混淆。
我們使用Java提供的java.exe直接運(yùn)行即可。
格式:
java ?XXX(不帶擴(kuò)展名)
第5章?注釋、關(guān)鍵字與標(biāo)識符
5.1?注釋
用來解釋和說明程序的文字。案例中的代碼我們并不知道什么意思,我們可以使用注釋來提醒自己我的代碼的功能是什么。注釋是不會(huì)被執(zhí)行的。
格式
單行注釋 ???//注釋內(nèi)容
多行注釋 ???/*注釋內(nèi)容*/
文檔注釋 /**注釋內(nèi)容*/
注釋的進(jìn)一步解釋
對于單行和多行注釋,被注釋的文字,不會(huì)被JVM解釋執(zhí)行。
對于文檔注釋,是java特有的注釋,其中注釋內(nèi)容可以被JDK提供的工具 javadoc 所解析,生成一套以網(wǎng)頁文件形式體現(xiàn)的該程序的說明文檔。在文檔注釋中可以使用注解配合javadoc完成對信息的進(jìn)一步說明。
注釋是一個(gè)程序員必須要具有的良好編程習(xí)慣。便于自己日后的代碼維護(hù),也方便別人閱讀你的代碼。
HelloWorld注釋說明
/*
class:類,Java當(dāng)中組織代碼的基本單位
HelloWorld:類名,可自定義,必須與文件名一致
public:訪問權(quán)限修飾符,現(xiàn)為固定寫法
static:靜態(tài)修飾符,現(xiàn)為固定寫法
void:返回值類型,現(xiàn)為固定寫法
main:方法名,現(xiàn)為固定寫法
String[]:參數(shù)類型,現(xiàn)為固定寫法
args:參數(shù)名,可以自定義修改,建議固定寫為args
?*/
public class?HelloWorld {
/*
main方法是程序入口,即JVM從main方法處開始運(yùn)行程序。
*/
public?static?void?main(String[] args) {
//打印語句
//小括號內(nèi)為打印字符串語句,字符串必須使用""包裹
System.out.println("Hello World!");
}
}
5.2?關(guān)鍵字
關(guān)鍵字是被Java語言賦予特殊含義,具有專門用途的單詞,比如之前接觸的public,class,static,void均為Java已經(jīng)預(yù)設(shè)好的。
學(xué)習(xí)java語言基礎(chǔ)實(shí)際上就是學(xué)習(xí)各種關(guān)鍵字如何使用的過程
Java中關(guān)鍵字均為小寫,注意String不是關(guān)鍵字
goto與const是Java中的保留字,即沒有賦予特殊含義卻仍被Java占用的單詞
5.3?標(biāo)識符及命名規(guī)則
標(biāo)識符是用來表示某個(gè)實(shí)體的符號,即為代碼中的部分內(nèi)容起的名稱。簡單來說,在Java中自己起名字的地方使用的就叫標(biāo)識符,遵守標(biāo)識符規(guī)則(這些地方包括:變量名、方法名、類名、接口名、包名等的命名)。Java標(biāo)識符由數(shù)字,字母和下劃線(_),美元符號($)或人民幣符號(¥)組成。在Java中是區(qū)分大小寫的,而且還要求首位不能是數(shù)字。最重要的是,Java關(guān)鍵字不能當(dāng)作Java標(biāo)識符。
5.3.1?組成元素
英文字符: a-zA-Z
數(shù)字: 0-9
符號: _與$
5.3.2?標(biāo)識符規(guī)則
數(shù)字不能開頭
不可以使用關(guān)鍵字
嚴(yán)格區(qū)分大小寫,不限制長度
起名時(shí),盡量達(dá)到見名知意
123sadfsd
SDFD123
#DFD
_$
static
5.3.3?在Java當(dāng)中不同部分的命名規(guī)則
針對Java當(dāng)中的不同內(nèi)容,在標(biāo)識符的基礎(chǔ)上,為這些內(nèi)容命名還要符合以下規(guī)定,但是這些規(guī)定是不受語法約束的。
包名:多單詞組成時(shí)所有字母均小寫,使用.連接 ?aaa.bbb.ccc
類名&接口名:大駝峰式 ??AaaBbbCcc
變量名&方法名:小駝峰式 ??aaaBbbCcc
常量名:多單詞組成是所有字母均大寫,使用_連接 ?AAA_BBB_CCC
第6章?常量及數(shù)據(jù)類型
6.1?常量
6.1.1?常量概念
常量是不能改變的量,即每一個(gè)常量就是一個(gè)數(shù)值。
6.1.2?數(shù)據(jù)類型
如同在數(shù)學(xué)當(dāng)中有小數(shù)與整數(shù)兩種數(shù)值,在Java當(dāng)中需要表示生活生產(chǎn)中的多樣內(nèi)容,其數(shù)據(jù)類型比數(shù)學(xué)中的小數(shù)與整數(shù)更為豐富。
Java是嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型的強(qiáng)類型語言,即每個(gè)數(shù)據(jù)均必須有一個(gè)數(shù)據(jù)類型。
整數(shù)
i.?十進(jìn)制表示方式:正常數(shù)字 ??如 13、25等
ii.?二進(jìn)制表示方式:以0b(0B)開頭 ???如0b1011 、0B1001
iii.?十六進(jìn)制表示方式:以0x(0X)開頭 ??數(shù)字以0-9及A-F組成 ?
如0x23A2、0xa、0x10
iv.?八進(jìn)制表示方式:以0開頭 ??如01、07、0721
小數(shù)
????如2.13、1.0
布爾型
????用來表示是否,布爾類型只有兩個(gè)值??true代表真即滿足條件 ??
????false代表假即不滿足條件
字符
i.?表示單個(gè)字符,鍵盤的按鍵可以輸入一個(gè)字符。中文的一個(gè)漢字可以代表一個(gè)字符。
ii.?字符需要使用’’將內(nèi)容包裹
iii.?字符內(nèi)容不能為空
如 ?‘1’、?‘a(chǎn)’、?‘?’(空格)、?‘中’、?‘$’
字符串
i.?字符串String是一種特殊的數(shù)據(jù)類型
ii.?字符串必須使用“”包裹
如 ?“我愛Java”、?“0”、?“a”、?“”、?“null”
/*
常量:固定不變的數(shù)
整數(shù),小數(shù),字符,布爾,字符串
*/
public class ConstDemo{
public static void main(String[] args){
//整數(shù)
//十進(jìn)制:常用
System.out.println(8);
//二進(jìn)制:以0b/0B開頭 只包含0和1
System.out.println(0b1000);
//十六進(jìn)制:以0x/0X開頭 0-9 a-f
System.out.println(0x8);
System.out.println(0xb);
//八進(jìn)制:以0開頭 0-7
System.out.println(010);//8
System.out.println(011);//9
System.out.println(017);//15
//小數(shù)
System.out.println(3.1415926);
//布爾
System.out.println(true);
System.out.println(false);
//字符 必須用''包裹起來 不能為空
System.out.println('1');
System.out.println('a');
System.out.println('B');
System.out.println('家');
System.out.println('&');
System.out.println(' ');
//System.out.println('10');//錯(cuò)誤: 未結(jié)束的字符文字
//字符串 必須用""包裹起來
System.out.println("我想有一個(gè)女同桌!");
System.out.println("");
}
}
6.2?常量案例---超市水果報(bào)價(jià)單
6.2.1?案例介紹與演示
根據(jù)不同的水果種類,在控制臺打印所有水果價(jià)格的列表。
6.2.2?案例分析
每行以每個(gè)水果為單位,記錄該水果的編號、名稱、單價(jià)、計(jì)價(jià)單位、品質(zhì)五個(gè)屬性值,依次完成多個(gè)水果的記錄
將多個(gè)水果的信息以列表的形式打印到控制臺
我們可以使用死數(shù)據(jù)來完成報(bào)價(jià)單,這里的“死數(shù)據(jù)”指不能改變,不與客戶交互的數(shù)據(jù),用來測試程序。
我們需要將需求當(dāng)中的各種屬性打印到控制臺。
這里有兩種方式可以實(shí)現(xiàn):
全部使用字符串的方式,這是非常直觀的方式:
直接打印字符串即可。
代碼:
System.out.println("水果編號 ???水果名稱 ???水果單價(jià) ???計(jì)價(jià)單位 ???品質(zhì)");
System.out.println(" ??1榴蓮 ???????32.0 ???????公斤 ??????A");
System.out.println(" ??2蘋果 ???????6.5 ????????公斤 ??????B");
System.out.println(" ??3獼猴桃 ??????6.0 ????????公斤 ??????A");
區(qū)分?jǐn)?shù)據(jù)類型,打印不同數(shù)據(jù)類型的方式:
對于Java是嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型的。
在HelloWorld案例中,我們使用System.out.println(“打印內(nèi)容”)打印的就是字符串,即一段話,文本文字,是無法做數(shù)學(xué)運(yùn)算的。
水果名稱與計(jì)價(jià)單位顯然是字符串類型的,按照字符串格式打印即可。如”香蕉”、?”蘋果”、”大鴨梨”等。
編號應(yīng)該為整數(shù),不應(yīng)該像名稱一樣是文本文字。不需要使用“”。
水果單價(jià)應(yīng)該為小數(shù),可以參與計(jì)算。同樣不需要使用“”。
水果品質(zhì)一個(gè)字母就可以表示,應(yīng)該為字符。字符需要使用‘’。
我們把數(shù)據(jù)調(diào)整為對應(yīng)的常量類型后,還需要把常量其他的字符串連接起來,我們使
用“+”來完成連接,我們來看幾個(gè)連接后的效果
1 + “World”,連接后的結(jié)果就是”1World”
“Hello”+ 3.3,連接后的結(jié)果就是”Hello3.3”
當(dāng)區(qū)分?jǐn)?shù)據(jù)類型時(shí),修改代碼為:
System.out.println("水果編號 ???水果名稱 ???水果單價(jià) ???計(jì)價(jià)單位 ???品質(zhì)");
System.out.println(" ??"+1+"榴蓮 ???????"+32.0+"公斤 ??????"+'A');
System.out.println(" ??"+2+"蘋果 ???????"+6.5+"公斤 ??????"+'B');
System.out.println(" ??"+3+"獼猴桃 ??????"+6.0+"公斤 ??????"+'A');
注意以上代碼為黑色部分并不是字符串,我們通過“+”將整數(shù)編號、小數(shù)單價(jià)、字符品質(zhì)和字符串的名稱與計(jì)價(jià)單位拼起來一起輸出了。
類似這樣,直接寫出來的整數(shù)、小數(shù)、字符、字符串,均叫做常量。寫入程序后是無法改變的。
/*
水果超市報(bào)價(jià)單:字符串常量方式
水果編號水果名稱水果單價(jià)計(jì)價(jià)單位品質(zhì)
1榴蓮32.0公斤A
2蘋果6.5公斤B
3 獼猴桃6.0公斤A
水果超市報(bào)價(jià)單:多種常量方式打印
水果編號:整數(shù)
水果名稱:字符串
水果單價(jià):小數(shù)
計(jì)價(jià)單位:字符串
品質(zhì):字符
*/
public class List01{
public static void main(String[] args){
//字符串常量方式
System.out.println("水果編號水果名稱水果單價(jià)計(jì)價(jià)單位品質(zhì)");
System.out.println("1榴蓮32.0公斤A");
System.out.println("2蘋果6.5公斤B");
System.out.println("3 獼猴桃6.0公斤A");
System.out.println("============================================================");
//多種常量連接 + 任何常量和字符串常量相加結(jié)果都是字符串
System.out.println(1+"Hello");//"1Hello"
System.out.println("asdf" + 3.3);//"asdf3.3"
System.out.println("============================================================");
//多種常量方式打印
System.out.println("水果編號水果名稱水果單價(jià)計(jì)價(jià)單位品質(zhì)");
System.out.println(1+"榴蓮"+32.0+"公斤"+'A');
System.out.println(2+"蘋果"+6.5+"公斤"+'B');
System.out.println(3+" 獼猴桃"+6.0+"公斤"+'A');
}
}
第7章習(xí)題總結(jié):
7.1?知識點(diǎn)相關(guān)題
7.1.1?簡述java語言,具有哪些特性?
1.java語言是簡單的
java語言是和c++語言類似的,其次java中丟棄了c++中一些難理解的特性,比如運(yùn)算符重載等,java語言不使用指針,并且擁有垃圾回收機(jī)制
2.java語言是面向?qū)ο蟮?/b>
java語言提供了類、接口和繼承等特性,只支持類之間的單繼承,但是支持接口之間的多繼承,并且支持類與接口之間的實(shí)現(xiàn)機(jī)制,而且java是全面支持動(dòng)態(tài)綁定的。
3.java語言是分布式的
java語言支持Internet應(yīng)用的開發(fā),在java編程中有一個(gè)編程接口時(shí)java,net接口,它是用來提供網(wǎng)絡(luò)編程的一個(gè)類庫,java的RMI機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。
4.java語言是健壯的
它丟棄了c++中的指針,但是他擁有強(qiáng)大的垃圾回收機(jī)制,強(qiáng)制類型轉(zhuǎn)化機(jī)制,異常處理機(jī)制,安全性檢查等重要機(jī)制。
5.java語言是安全的
java語言自身有安全性之外,它還可以通過網(wǎng)絡(luò)下載的類本身具有一個(gè)安全防范機(jī)制,通過分配不同的名字空間,以放代替本地的同類名和字節(jié)碼檢查,并且提供安全管理機(jī)制(類SecurityManager)讓java應(yīng)用設(shè)置安全的哨兵。
6.java語言是跨平臺的
java程序在Java平臺上面可以被編譯為字節(jié)碼文件,獨(dú)立存在,可以在任何的操作系統(tǒng)中的JVM上進(jìn)行解釋運(yùn)行。
7.java語言是多線程的
java語言支持多個(gè)線程同時(shí)執(zhí)行,并且提供多線程之間的同步機(jī)制.
7.1.2??完成JAVA_HOME方式的環(huán)境變量配置并驗(yàn)證
為什么要配置
我們發(fā)現(xiàn)每次程序編譯與運(yùn)行都要輸入D:\develop\Java\jdk1.7.0_51\bin后,才能使用javac.exe與java.exe,這樣的方式很麻煩,那么,能否不輸入D:\develop\Java\jdk1.7.0_51\bin呢?是可以的,通過配置Windows的PATH環(huán)境變量來完成。
我們配置path的目的是讓Java的bin目錄下的.exe命令可以在任意目錄下執(zhí)行,無需進(jìn)入到j(luò)avac所在的目錄就可以找到j(luò)avac.exe命令,方便完成程序。
如何配置
創(chuàng)建新的變量名稱:JAVA_HOME
計(jì)算機(jī)-右鍵屬性-高級系統(tǒng)設(shè)置-高級-環(huán)境變量-系統(tǒng)變量
為JAVA_HOME添加變量值:JDK安裝目錄
在path環(huán)境變量最前面添加如下內(nèi)容%JAVA_HOME%\bin;
7.1.3?什么是JDK,什么是JRE,這兩者有什么關(guān)系?
7.1.4?簡述什么是java中的關(guān)鍵字,關(guān)鍵字的特點(diǎn)及常見的關(guān)鍵字
一九五五年九月下旬一天中午,我偷溜上一列從洛杉磯開出、朝圣巴巴拉(Santa Barbara)而去的貨運(yùn)火車。我頭枕在行李袋上,翹著腿,注視著天上的滾滾浮云。那是一列慢車,我計(jì)劃在圣巴巴拉的海灘睡一晚,隔天一大早再偷溜上一列開往圣路易斯-奧比斯蟹(San LuisObispo)的慢車,要不就是等到傍晚七點(diǎn),溜上一列到舊金山去的直達(dá)車。
7.1.5?簡述什么是標(biāo)識符,標(biāo)識符的組成,注意事項(xiàng)及命名規(guī)則
標(biāo)識符組成
Java標(biāo)識符由數(shù)字,字母和下劃線(_),美元符號($)或人民幣符號(¥)組成。在Java中是區(qū)分大小寫的,而且還要求首位不能是數(shù)字。最重要的是,Java關(guān)鍵字不能當(dāng)作Java標(biāo)識符。
下面的標(biāo)識符是合法的:
myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_
下面的標(biāo)識符是非法的:
#name,25name,class,&time,if
命名約定
1.類和接口名。每個(gè)字的首字母大寫,含有大小寫。例如,MyClass,HelloWorld,Time等。
2.方法名。首字符小寫,其余的首字母大寫,含大小寫。盡量少用下劃線。例如,myName,setTime等。這種命名方法叫做駝峰式命名。
3.常量名。基本數(shù)據(jù)類型的常量名使用全部大寫字母,字與字之間用下劃線分隔。對象常量可大小混寫。例如,SIZE_NAME。
4.變量名。可大小寫混寫,首字符小寫,字間分隔符用字的首字母大寫。不用下劃線,少用美元符號。給變量命名是盡量做到見名知義。
7.1.6?簡述注釋的作用及分類,并在HelloWorld案例中添加注釋
對于Java注釋我們主要了解三種:
1, // 注釋一行
2, /* ...... */ 注釋若干行
3, /**……*/文檔注釋
作用:
通過注釋提高Java源程序代碼的可讀性;
使得Java程序條理清晰,易于區(qū)分代碼行與注釋行。
另外通常在程序開頭加入作者,時(shí)間,版本,要實(shí)現(xiàn)的功能等內(nèi)容注釋,方便后來的維護(hù)以及程序員的交流。
7.1.7?簡述常量的分類,完成控制臺輸出不同類型的常量
Java一共提供了六種類型的常量:
1.?整型常量:整型常量的值為整數(shù)的類型,它可以采用十進(jìn)制、八進(jìn)制、十六進(jìn)制表示。對于超過了int類型取值范圍的大整數(shù),系統(tǒng)不會(huì)自動(dòng)當(dāng)做long類型處理,此時(shí)必須在整數(shù)的后面增加大寫或者小寫的L作為后綴才能夠作為long類型處理。通常我們推薦使用大寫的L,小寫的L容易和1混淆。
2.?浮點(diǎn)型常量:包括float和double兩種類型,每一種類型都可以使用十進(jìn)制或者是科學(xué)計(jì)數(shù)法,例如2.4e3,實(shí)際上表示2.4*103,Java語言的浮點(diǎn)型默認(rèn)是double類型的,你如果希望把Java中的一個(gè)浮點(diǎn)數(shù)當(dāng)作float類型處理那么必須增加后綴大寫或小寫的F,例如
3.4是double型,占用64位內(nèi)存空間,而3.4f 位float類型,占用32位內(nèi)存空間,當(dāng)然也可以在一個(gè)浮點(diǎn)數(shù)后面加上大寫或小寫的d,指定其為double類型,但是通常沒有這個(gè)必要,Java語言的浮點(diǎn)型默認(rèn)是double類型的。
3.?布爾常量:只能取值true或false,注意不能使用0或1替代,也不能使用引號括起來
4.?字符常量:字符常量必須使用單引號括起來,只能是一個(gè)字符,Java中字符在內(nèi)存中占用兩個(gè)字節(jié),采用的是Unicode編碼,字符常量有二種變現(xiàn)形式,
(1)普通字符常量,例如’a’,’8’等等,使用單引號括起來。
(2)轉(zhuǎn)義字符常量,例如’\n’表示換行,’\t’表示Tab鍵,’\b’退格鍵,這些控制字符都是不可顯示字符,所以采用轉(zhuǎn)義字符來表示。’\\’(反斜杠),’\’’(單引號),’\”’(雙引號)。
5.?字符串常量:使用雙引號括起來的一串字符,作為特殊情況也可以是0個(gè)或1個(gè)字符,例如”A” A是一個(gè)字符但是我們稱”A”是一個(gè)字符串,不會(huì)把它認(rèn)為是字符,字符常量是用單引號括起來的。
6.?null常量:只有一個(gè)值null,表示引用變量保存的地址為空,還沒有指向任何對象,可以把null常量賦給任意類型的引用類型的變量。
7.1.8??Java的“一次編寫,多處運(yùn)行”是如何實(shí)現(xiàn)的?
答:Java程序會(huì)被編譯成字節(jié)碼組成的class文件,這些字節(jié)碼可以運(yùn)行在不同平臺的jvm上,所以說java是平臺獨(dú)立的。
7.2?代碼題
7.2.1?第一題:分析以下需求,并用代碼實(shí)現(xiàn)
1.定義一個(gè)HelloWold類
2.在類中定義主方法
3.在主方法中使用輸出語句在dos控制臺打印HelloWorld
打印結(jié)果如:HelloWorld
4.在案例中使用當(dāng)行注釋、多行注釋添加相關(guān)的說明信息
代碼實(shí)現(xiàn):
/**
?* java第一個(gè)案例:HelloWorld
?*
?*/
public?class?HelloWorld {
//定義主方法
public?static?void?main(String[] args) {
//在控制臺上打印HelloWorld
System.out.println("HelloWorld");
}
}
7.2.2?第二題:分析以下需求,并用代碼實(shí)現(xiàn)
1.定義一個(gè)Test08類
2.要求在控制臺打印輸出一段話:
效果如下:
誰不曾一意孤行,怒發(fā)沖冠過怕只怕少了那份執(zhí)著
世界上那些最容易的事情中,拖延時(shí)間最不費(fèi)力
你若不想做,會(huì)找一個(gè)或無數(shù)個(gè)借口;你若想做,會(huì)想一個(gè)或無數(shù)個(gè)辦法
代碼實(shí)現(xiàn):
public?class?Test08?{
//定義主方法
public?static?void?main(String[] args) {
//在控制臺上打印
System.out.println("誰不曾一意孤行,怒發(fā)沖冠過怕只怕少了那份執(zhí)著");
System.out.println("世界上那些最容易的事情中,拖延時(shí)間最不費(fèi)力");
System.out.println("你若不想做,會(huì)找一個(gè)或無數(shù)個(gè)借口;你若想做,會(huì)想一個(gè)或無數(shù)個(gè)辦法");
}
}
7.2.3?第三題:分析以下需求,并用代碼實(shí)現(xiàn)
1.定義一個(gè)Test09類
2.要求在控制臺打印以下數(shù)據(jù)(利用常量的方式):
(1)字符串常量"不忘初心方得始終"
(2)整數(shù)常量88,-88
(3)小數(shù)常量88.888
(4)字符常量'A','8'
(5)布爾常量true,false
代碼實(shí)現(xiàn):
public?class?Test09?{
//定義主方法
public?static?void?main(String[] args) {
//在控制臺上打印
System.out.println("不忘初心方得始終");
System.out.println(88);
System.out.println(-88);
System.out.println(88.888);
System.out.println('A');
System.out.println('8');
System.out.println(true);
System.out.println(false);
}
}
7.2.4?常量案例---超市水果報(bào)價(jià)單(選作)
7.2.4.1?案例介紹與演示
根據(jù)不同的水果種類,在控制臺打印所有水果價(jià)格的列表。
7.2.4.2?案例分析
每行以每個(gè)水果為單位,記錄該水果的編號、名稱、單價(jià)、計(jì)價(jià)單位、品質(zhì)五個(gè)屬性值,依次完成多個(gè)水果的記錄
將多個(gè)水果的信息以列表的形式打印到控制臺
我們可以使用死數(shù)據(jù)來完成報(bào)價(jià)單,這里的“死數(shù)據(jù)”指不能改變,不與客戶交互的數(shù)據(jù),用來測試程序。
我們需要將需求當(dāng)中的各種屬性打印到控制臺。
這里有兩種方式可以實(shí)現(xiàn):
1.全部使用字符串的方式,這是非常直觀的方式:
直接打印字符串即可。
代碼:
System.out.println("水果編號 ???水果名稱 ???水果單價(jià) ???計(jì)價(jià)單位 ???品質(zhì)");
System.out.println(" ??1榴蓮 ???????32.0 ???????公斤 ??????A");
System.out.println(" ??2蘋果 ???????6.5 ????????公斤 ??????B");
System.out.println(" ??3獼猴桃 ??????6.0 ????????公斤 ??????A");
2.區(qū)分?jǐn)?shù)據(jù)類型,打印不同數(shù)據(jù)類型的方式:
對于Java是嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型的。
在HelloWorld案例中,我們使用System.out.println(“打印內(nèi)容”)打印的就是字符串,即一段話,文本文字,是無法做數(shù)學(xué)運(yùn)算的。
水果名稱與計(jì)價(jià)單位顯然是字符串類型的,按照字符串格式打印即可。如”香蕉”、”蘋果”、”大鴨梨”等。
編號應(yīng)該為整數(shù),不應(yīng)該像名稱一樣是文本文字。不需要使用“”。
水果單價(jià)應(yīng)該為小數(shù),可以參與計(jì)算。同樣不需要使用“”。
水果品質(zhì)一個(gè)字母就可以表示,應(yīng)該為字符。字符需要使用‘’。
我們把數(shù)據(jù)調(diào)整為對應(yīng)的常量類型后,還需要把常量其他的字符串連接起來,我們使用“+”來完成連接,我們來看幾個(gè)連接后的效果
1 + “World”,連接后的結(jié)果就是”1World”
“Hello”+ 3.3,連接后的結(jié)果就是”Hello3.3”
當(dāng)區(qū)分?jǐn)?shù)據(jù)類型時(shí),修改代碼為:
System.out.println("水果編號 ???水果名稱 ???水果單價(jià) ???計(jì)價(jià)單位 ???品質(zhì)");
System.out.println(" ??"+1+"榴蓮 ???????"+32.0+"公斤 ??????"+'A');
System.out.println(" ??"+2+"蘋果 ???????"+6.5+"公斤 ??????"+'B');
System.out.println(" ??"+3+"獼猴桃 ??????"+6.0+"公斤 ??????"+'A');
注意以上代碼為黑色部分并不是字符串,我們通過“+”將整數(shù)編號、小數(shù)單價(jià)、字符品質(zhì)和字符串的名稱與計(jì)價(jià)單位拼起來一起輸出了。
類似這樣,直接寫出來的整數(shù)、小數(shù)、字符、字符串,均叫做常量。寫入程序后是無法改變的。