目錄: Q1.1 什么是Java、Java2、JDK?JDK后面的1.3、1.4版本號(hào)又是怎么回事? Q1.2 什么是JRE/J2RE? Q1.3 學(xué)習(xí)Java用什么工具比較好? Q1.4 學(xué)習(xí)Java有哪些好的參考書(shū)? Q1.5 Java和C++哪個(gè)更好? Q1.6 什么是J2SE/J2EE/J2ME? Q2.1 我寫(xiě)了第一個(gè)Java程序,應(yīng)該如何編譯/運(yùn)行? Q2.2 我照你說(shuō)的做了,但是出現(xiàn)什么“‘javac‘ 不是內(nèi)部或外部命令,也不是可運(yùn)行 的 程序或批處理文件?!?。 Q2.3 環(huán)境變量怎么設(shè)置? Q2.4 我在javac xxx.java的時(shí)候顯示什么“unreported exception java.io.IOExcepti on;”。 Q2.5 javac xxx.java順利通過(guò)了,但是java xxx的時(shí)候顯示什么 “NoClassDefFoundErr or”。 Q2.6 我在java xxx的時(shí)候顯示“Exception in thread "main" java.lang.NoSuchMetho dError: main”。 Q2.7 在java xxx的時(shí)候顯示“Exception in thread "main" java.lang.NullPointerEx ception”。 Q2.8 package是什么意思?怎么用? Q2.9 我沒(méi)有聲明任何package會(huì)怎么樣? Q2.10 在一個(gè)類中怎么使用其他類? Q2.11 我用了package的時(shí)候顯示"NoClassDefFoundError",但是我把所有package去掉 的 時(shí)候能正常運(yùn)行。 Q2.12 我想把java編譯成exe文件,該怎么做? Q2.13 我在編譯的時(shí)候遇到什么"deprecated API",是什么意思? Q3.1 我怎么給java程序加啟動(dòng)參數(shù),就像dir /p/w那樣? Q3.2 我怎么從鍵盤(pán)輸入一個(gè)int/double/字符串? Q3.3 我怎么輸出一個(gè)int/double/字符串? Q3.4 我發(fā)現(xiàn)有些書(shū)上直接用System.in輸入,比你要簡(jiǎn)單得多。 Q3.5 我怎么從文件輸入一個(gè)int/double/字符串? Q3.6 我想讀寫(xiě)文件的指定位置,該怎么辦? Q3.7 怎么判斷要讀的文件已經(jīng)到了盡頭? Q4.1 java里面怎么定義宏? Q4.2 java里面沒(méi)法用const。 Q4.3 java里面也不能用goto。 Q4.4 java里面能不能重載操作符? Q4.5 我new了一個(gè)對(duì)象,但是沒(méi)法delete掉它。 Q4.6 我想知道為什么main方法必須被聲明為public static?為什么在main方法中不能 調(diào) 用非static成員? Q4.7 throw和throws有什么不同? Q4.8 什么是異常? Q4.9 final和finally有什么不同? Q5.1 extends和implements有什么不同? Q5.2 java怎么實(shí)現(xiàn)多繼承? Q5.3 abstract是什么? Q5.4 public,protected,private有什么不同? Q5.5 Override和Overload有什么不同? Q5.6 我繼承了一個(gè)方法,但現(xiàn)在我想調(diào)用在父類中定義的方法。 Q5.7 我想在子類的構(gòu)造方法中調(diào)用父類的構(gòu)造方法,該怎么辦? Q5.8 我在同一個(gè)類中定義了好幾個(gè)構(gòu)造方法并且想在一個(gè)構(gòu)造方法中調(diào)用另一個(gè)。 Q5.9 我沒(méi)有定義構(gòu)造方法會(huì)怎么樣? Q5.10 我調(diào)用無(wú)參數(shù)的構(gòu)造方法失敗了。 Q5.11 我該怎么定義類似于C++中的析構(gòu)方法(destructor)? Q5.12 我想將一個(gè)父類對(duì)象轉(zhuǎn)換成一個(gè)子類對(duì)象該怎么做? Q5.13 其實(shí)我不確定a是不是B的實(shí)例,能不能分情況處理? Q5.14 我在方法里修改了一個(gè)對(duì)象的值,但是退出方法后我發(fā)現(xiàn)這個(gè)對(duì)象的值沒(méi)變! Q6.1 java能動(dòng)態(tài)分配數(shù)組嗎? Q6.2 我怎么知道數(shù)組的長(zhǎng)度? Q6.3 我還想讓數(shù)組的長(zhǎng)度能自動(dòng)改變,能夠增加/刪除元素。 Q6.4 什么是鏈表?為什么要有ArrayList和LinkedList兩種List? Q6.5 我想用隊(duì)列/棧。 Q6.6 我希望不要有重復(fù)的元素。 Q6.7 我想遍歷集合/Map。 Q6.8 我還要能夠排序。 Q6.9 但是我想給數(shù)組排序。 Q6.10 我想按不同方式排序。 Q6.11 Map有什么用? Q6.12 set方法沒(méi)問(wèn)題,但是get方法返回的是Object。 Q6.13 ArrayList和Vector有什么不同?HashMap和Hashtable有什么不同? Q6.14 我要獲得一個(gè)隨機(jī)數(shù)。 Q6.15 我比較兩個(gè)String總是false,但是它們明明都是"abc" ! Q6.16 我想修改一個(gè)String但是在String類中沒(méi)找到編輯方法。 Q6.17 我想處理日期/時(shí)間。 一、準(zhǔn)備篇 Q1.1 什么是Java、Java2、JDK?JDK后面的1.3、1.4版本號(hào)又是怎么回事? 答:Java是一種通用的,并發(fā)的,強(qiáng)類型的,面向?qū)ο蟮木幊陶Z(yǔ)言(摘自Java規(guī)范第二 版 )。 JDK是Sun公司分發(fā)的免費(fèi)Java開(kāi)發(fā)工具包,正式名稱為J2SDK(Java2 Software Develop K it)。 包括基本的java工具包和標(biāo)準(zhǔn)類庫(kù)。 到目前(2003年7月)為止,Java有3個(gè)主要版本,即1.0,1.1,2.0; JDK有1.0,1.1,1.2,1.3,1.4五個(gè)版本。 從JDK1.2起,Sun公司覺(jué)得Java改變足夠大而將java語(yǔ)言版本號(hào)提升為2.0。 不同的JDK主要在于提供的類庫(kù)不同。作為學(xué)習(xí)你可以下載最新的JDK1.4.2。 真正開(kāi)發(fā)時(shí)則應(yīng)考慮向前兼容,比如1.3。下載請(qǐng)去http://java.sun.com。 JDK1.5預(yù)計(jì)將在2004年推出,屆時(shí)其中將包含若干嶄新的特性。 Q1.2 什么是JRE/J2RE? 答:J2RE是Java2 Runtime Environment,即Java運(yùn)行環(huán)境,有時(shí)簡(jiǎn)稱JRE。 如果你只需要運(yùn)行Java程序或Applet,下載并安裝它即可。 如果你要自行開(kāi)發(fā)Java軟件,請(qǐng)下載JDK。在JDK中附帶有JRE。 注意由于Microsoft對(duì)Java的支持不完全,請(qǐng)不要使用IE自帶的虛擬機(jī)來(lái)運(yùn)行Applet,務(wù) 必 安裝一個(gè)JRE或JDK。 Q1.3 學(xué)習(xí)Java用什么工具比較好? 答:作者建議首先使用JDK+文本編輯器,這有助你理解下列幾個(gè)基礎(chǔ)概念:path, classp ath,package 并熟悉基本命令:javac和java。并且下載和你的JDK版本一致的API幫助。 如果你不確定類或函數(shù)的用法,請(qǐng)先查閱API而不是發(fā)貼求助。 當(dāng)你熟悉Java之后,你可以考慮開(kāi)始使用一個(gè)IDE。 作者推薦eclipse,下載網(wǎng)址http://www.eclipse.org。因?yàn)閑clispe是免費(fèi)的,插件化 的 。 eclispe的主要缺點(diǎn)是缺乏一個(gè)可視化的桌面程序開(kāi)發(fā)工具, 幸運(yùn)的是IBM在2003年11月已經(jīng)將部分代碼捐給eclipse組織,可以預(yù)計(jì)這個(gè)缺點(diǎn)很快就 會(huì) 得到彌補(bǔ)。 無(wú)論如何,請(qǐng)不要使用Microsoft的VJ++!眾所周知Microsoft從來(lái)就沒(méi)有認(rèn)真支持過(guò) Java 。 最后但并非最不重要,要有一本好的參考書(shū),并且英文要過(guò)關(guān)。 Q1.4 學(xué)習(xí)Java有哪些好的參考書(shū)? 答:作者首先推薦Thinking in Java,中文名《Java編程思想》,有中文版。 目前的最新版本是第三版。 在為 Date String s = formatter.format(date); //將Date轉(zhuǎn)換為符合格式的String 關(guān)于定義日期格式的詳細(xì)信息請(qǐng)參見(jiàn)API。 |
聯(lián)系客服