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