九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

《Java基礎入門》課后習題答案

上傳人:文*** 文檔編號:33850692 上傳時間:2021-10-19 格式:DOC 頁數:25 大?。?37.50KB
收藏 版權申訴 舉報 下載
《Java基礎入門》課后習題答案_第1頁
第1頁 / 共25頁
《Java基礎入門》課后習題答案_第2頁
第2頁 / 共25頁
《Java基礎入門》課后習題答案_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

8 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《Java基礎入門》課后習題答案》由會員分享,可在線閱讀,更多相關《《Java基礎入門》課后習題答案(25頁珍藏版)》請在裝配圖網上搜索。

1、真誠為您提供優(yōu)質參考資料,若有不當之處,請指正。Java基礎入門課后習題答案第1章 Java開發(fā)入門一、填空題1、 Java EE、Java SE、Java ME2、 JRE3、 javac4、 bin5、 path、classpath二、選擇題1、ABCD2、C3、D4、B5、B三、簡答題1、 面向對象、跨平臺性、健壯性、安全性、可移植性、多線程性、動態(tài)性等。2、 JRE(Java Runtime Environment,Java運行時環(huán)境),它相當于操作系統(tǒng)部分,提供了Java程序運行時所需要的基本條件和許多Java基礎類,例如,IO類、GUI控件類、網絡類等。JRE是提供給普通用戶使用的

2、,如果你只想運行別人開發(fā)好的Java程序,那么,你的計算機上必須且只需安裝JRE。JDK(Java Development Kit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔XXX工具、打包工具多種與開發(fā)相關的工具,是提供給Java開發(fā)人員使用的。初學者學習和使用Java語言時,首先必須下載和安裝JDK。JDK中已經包含了JRE部分,初學者安裝JDK后不必再去下載和安裝JRE了。 四、編程題public class HelloWorld public static void main(String args) System.out.println(這是第一個Java程序!);第2章

3、Java編程基礎一、填空題1、 class2、 true和false3、 單行注釋、多行注釋、文檔注釋4、 基本數據類型、引用數據類型5、 1、2、4、86、 & & | | 7、 08、 59、 3410、 56 二、判斷題1、 錯2、對3、錯4、對5、錯三、選擇題1、 AD2、AD3、C4、ABCD5、C6 、A7、AC8、A9、B10、A 四、程序分析題1、 編譯不通過。int值4和b相加時,由于變量b的類型為byte,取值范圍沒有int類型大,存不下int類型的值,因此編譯不通過。2、 編譯不通過。這是因為y是在最里層的代碼塊中定義的一個變量,只有在那個代碼塊中才可使用,在使用y =

4、x;語句時已經超過了y變量的作用域,所以編譯無法通過。3、 打印結果為:3。4、 打印結果為: 9 8 7五、簡答題1、Java語言的八種基本數據類型有:byte字節(jié)型,占一個字節(jié)。short短整型,占兩個字節(jié)。int整型,占4個字節(jié)。long長整型,占8個字節(jié)。float單精度浮點型,占4個字節(jié)。double雙精度浮點型,占8個字節(jié)。char字符型,占兩個字節(jié)。boolean型,表示邏輯值,有true和false兩個值,分別占一個字節(jié)。2、如果使用“&”在表達式之間進行連接,那么無論任何情況,“&”兩邊的表達式都會參與計算。如果使用“&”進行連接,當“&”左邊的表達式為false,則不會執(zhí)行

5、其右邊的表達式。例如定義int x = 2,y = 0; boolean b = x 0表達是會發(fā)生被0除異常,因為x / y的表達式執(zhí)行了。而boolean b = x 0是不會出現這種異常的,因為x y為false,表達式x / y不會執(zhí)行。3、方法重載指的是在一個類中可以聲明多個同名的方法,而方法中參數的個數或者數據類型不一致。調用這些同名的方法時,JVM會根據實際參數的不同綁定到不同的方法。六、編程題1、參考答案public class Test01 public static void main(String args) int sum = 0;for (int i = 1; i 0

6、) y = x + 3; else if (x = 0) y = 0; else y = x * x - 1;return y;3、參考答案public class Test03 public static void main(String args) int arr = 25, 24, 12, 76, 101, 96, 28 ;for (int i = 0; i arr.length - 1; i+) / 定義內層循環(huán)for (int j = 0; j arrj + 1) / 比較相鄰元素/ 下面的三行代碼用于交換兩個元素int temp = arrj;arrj = arrj + 1;arr

7、j + 1 = temp;for (int i = 0; i 10)throw new NoThisSongException(您播放的歌曲不存在);System.out.println(正在播放歌曲);public class Test03 public static void main(String args) Player player = new Player();try player.play(13); catch (NoThisSongException e) System.out.println(異常信息為: +e.getMessage();第5章 多線程一、填空題1、 線程、通

8、信2、 Thread、Runnable3、 就緒4、 synchronized、對象、this5、 進程6、 新建狀態(tài)(New)、就緒狀態(tài)(Runnable)、運行狀態(tài)(Running)、阻塞狀態(tài)(Blocked)、死亡狀態(tài)(Terminated)7、 10、18、 開啟一個新線程、run()方法9、 wait()、notify()、notifyAll()10、setDaemon(true)、start()二、判斷題1、錯 2、對 3、對 4、錯 5、錯三、選擇題1、B 2、AC 3、ABC 4、BC 5、ABD 6、ABC 7、C 8、D 9、AB 10、ABCD四、程序分析題1、程序不能編

9、譯通過,因為RunHandler類沒有實現Runnable接口,因此RunHandler的實例對象不能作為參數傳遞給Thread的構造方法。2、程序不能編譯通過,因為Thread的子類A重寫的run()方法的訪問級別不能低于父類run()方法的。訪問級別3、程序不能編譯通過,因為同步方法中調用wait()方法的對象必須為同步鎖對象。4、t.start();五、簡答題1、一種是繼承java.lang包下的Thread類,覆寫Thread類的run()方法,在run()方法中實現運行在線程上的代碼。new Thread() public void run().start();另一種就是實現java

10、.lang.Runnable接口,同樣是在run()方法中實現運行在線程上的代碼。new Thread(new Runnable() public void run().start() 2、調用sleep()方法,正在執(zhí)行的線程主動讓出CPU去執(zhí)行其他線程,在sleep()方法指定的時間過后,CPU才會回到這個線程上繼續(xù)往下執(zhí)行,如果當前線程進入了同步鎖,sleep()方法并不會釋放鎖,即使當前線程使用sleep()方法讓出了CPU,但其它被同步鎖擋住了的線程也無法得到執(zhí)行。wait()在一個已經進入了同步鎖的線程內進行調用,讓當前線程暫時讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并

11、運行。當其它線程調用了notify()方法后,調用wait()方法的線程就會解除wait狀態(tài),當再次獲得同步鎖后,程序可以繼續(xù)向下執(zhí)行。六、編程題1、參考答案public class MyThread extends Threadpublic MyThread(String name) super(name); public void run() System.out.println(this.getName();public static void main(String args) new MyThread(Thread1).start();new MyThread(Thread2).st

12、art(); 2、參考答案public class MyRunnable implements Runnable public void run() for (int i = 0; i 50; i+) System.out.println(new);public static void main(String args) new Thread(new MyRunnable().start();for (int i = 0; i 100; i+) System.out.println(main);3、參考答案public class Test01 public static void main(

13、String args) Teacher t = new Teacher();new Thread(t, 陳老師).start();new Thread(t, 高老師).start();new Thread(t, 李老師).start();class Teacher implements Runnable private int notes = 80;public void run() while (true) dispatchNotes(); / 調用售票方法if (notes 0) try Thread.sleep(10); / 經過的線程休眠10毫秒 catch (Interrupted

14、Exception e) e.printStackTrace();System.out.println(Thread.currentThread().getName() + -發(fā)出的筆記+ notes-);4、參考答案public class Accumulator extends Thread private int stratNum;public static int sum;public Accumulator(int startNum) this.stratNum = startNum;public static synchronized void add(int num) sum +

15、= num;public void run() int sum = 0;for (int i = 0; i 10; i+) sum += stratNum + i;add(sum);public static void main(String args) throws Exception Thread threadList = new Thread10;for (int i = 0; i 10; i+) threadListi = new Accumulator(10 * i + 1);threadListi.start();for (int i = 0; i = 0; i-) if (chi

16、 = A & chi = a & chi = z) buffer.append(String.valueOf(chi).toUpperCase();System.out.println(buffer.toString();2、 參考答案import java.text.DateFormat;import java.util.Calendar;import java.util.Date;public class Test02 public static void main(String args) Calendar calendar = Calendar.getInstance();calend

17、ar.add(Calendar.DATE, 100);Date date = calendar.getTime();DateFormat format = DateFormat.getDateInstance(DateFormat.FULL);String string = format.format(date);System.out.println(string);3、 參考答案import java.util.Random;public class Test03 public static void main(String args) Random rand = new Random();

18、 int num = new int5; for (int i = 0; i num.length; i+) numi = 20 + rand.nextInt(31); System.out.println(numi); 第7章 集合類一、填空題1、集合2、Comparator3、有序、可重復,無序、不可重復4、hashNext()、next()5、Collection、Map6、鍵、值7、ListIterator8、ArrayList、LinkedList,HashSet、TreeSet,HashMap、TreeMap9、put()、get()10、Collections、Arrays二、判

19、斷題1、錯 2、對 3、對 4、錯 5、對三、選擇題1、BC 2、A 3、D 4、ABD 5、C 6、AB 7、D 8、AB 9、ABC 10、B四、程序分析題1、程序可以編譯通過,輸出結果是“a、b、c”,因為TreeSet集合不允許存放重復元素,第2次增加的元素c會覆蓋之前存入的元素c,所以輸出結果是“a、b、c”,而不是“a、b、c、c”。2、程序不可以編譯通過,這是由于向ArrayList集合中存入元素時,集合并不能記住元素的類型,因此在取出元素時,只能使用Object類型,而不能使用String類型。3、程序可以編譯通過,但是什么也沒有打印。使用ListIterator進行從后向前的

20、遍歷集合,可以使用以下兩種方法,一是使用listIterator(int index)方法將索引index的值設置為集合元素的數目,也就是ListIterator it = list.listIterator(3);,二是將程序先從前向后遍歷,然后再從后向前遍歷。4、程序編譯不通過,由于Map集合在遍歷的過程中不能使用集合對象本身刪除元素,這會導致并發(fā)修改異常,若想刪除集合中的元素,可以使用Iterator的remove()方法。五、簡答題1、為了使程序能方便的存儲和操作數目不固定的一組數據,JDK提供了一套類庫,這些類都位于java.util包中,統(tǒng)稱為集合。集合框架中包含3個接口,分別是L

21、ist、Set、Map。2、List的特點是元素有序、元素可重復。List接口的主要實現類有ArrayList和LinkedList。Set的特點是元素無序、元素不可重復。Set接口的主要實現類有HashSet和TreeSet。Map的特點是存儲的元素是鍵(Key)、值(Value)映射關系,元素都是成對出現的。Map接口的主要實現類有HashMap和TreeMap。3、Collection是一個單例集合接口。它提供了對集合對象進行基本操作的通用方法。Collections是一個工具類。它包含各種有關集合操作的方法。六、編程題1、參考答案import java.util.*;public cl

22、ass Test01 public static void main(String args) ArrayList list = new ArrayList(); for(int i = 0; i 10; i+) list.add(A+i);Iterator it = list.iterator(); while(it.hasNext() Object obj = it.next(); System.out.println(obj);2、參考答案import java.util.*;public class Test02 public static void main(String args)

23、 HashSet hashSet = new HashSet();Person p1 = new Person(Jack,25);Person p2 = new Person(Rose,23);Person p3 = new Person(Jack,27);hashSet.add(p1);hashSet.add(p2);hashSet.add(p3);for(Object obj:hashSet)Person p=(Person)obj;System.out.println(p.name+:+p.age);class PersonString name;int age;public Perso

24、n(String name, int age) super();this.name = name;this.age = age;public int hashCode() return name.hashCode();public boolean equals(Object obj) if (this = obj)return true;if (obj = null)return false;Person other = (Person) obj;return other.name.equals(this.name);3、參考答案import java.util.*;public class

25、Test03 public static void main(String args) TreeMap map = new TreeMap(new MyComparator();map.put(1, Lucy);map.put(2, Lucy);map.put(3, John);map.put(4, Smith);map.put(5, Amanda);for (Object key : map.keySet() System.out.println(key + : + map.get(key);class MyComparator implements Comparator public in

26、t compare(Object obj1, Object obj2) String ele1 = (String) obj1;String ele2 = (String) obj2;return ele2aaapareTo(ele1);第8章 IO(輸入輸出)一、填空題1、 字節(jié)流、字符流2、 File、java.io3、 SequenceInputStream4、 RandomAccessFile5、 管道流6、 LineNumberReader、BufferedReader、setLineNumber(int)、getLineNumber()7、 字節(jié)流、字符流8、 PrintStrea

27、m、setOut(PrintStream out)9、 Unicode10、newLine()二、判斷題1、 錯 2、對 3、對 4、對 5、錯 三、選擇題1、AB 2、C 3、C 4、ABCD 5、AB 6、ACD 7、A 8、A 9、D 10、A四、程序填空題 1、InputStreamReader、br.readLine()、運行結果為22、FileInputStream(file1)、FileOutputStream、fis.available() 五、問答題1、Java程序通過流來完成輸入和輸出,流是輸入或輸出信息的抽象。流通過Java的輸入/輸出系統(tǒng)與外設連接進行數據通信。流是抽象

28、的對象,具體實現代碼在java.io包中。2、字節(jié)流的兩個基類是InputStream和OutputStream,字符流的兩個基類是Reader和Writer,它們都是Object類的直接子類,字節(jié)流是處理以8位字節(jié)為基本單位的字節(jié)流類;Reader和Writer類是專門處理16位字節(jié)的字符流類。3、管道流分為管道輸入流(PipedInputStream)和管道輸出流(PipedOutputStream),通常由一個PipedInputStream實例對象和一個PipedOutputStream實例對象相互連接而實現管道通信,PipedOutputStream向管道寫入數據,PipedInpu

29、tStream從管道中讀取PipedOutputStream寫入的數據,管道流主要用來完成線程之間的通信。六、編程題 1、參考答案import java.io.*;public class Test01 public static void main(String args) throws Exception / 字節(jié)流拷貝FileInputStream in = new FileInputStream(E:/src.txt);FileOutputStream out = new FileOutputStream(E:/des1.txt);byte buf = new byte1024;int

30、 len;while (len = in.read(buf) != -1) out.write(buf, 0, len);in.close();out.close();/ 字符流拷貝BufferedReader bf = new BufferedReader(new FileReader(E:/src.txt);BufferedWriter bw = new BufferedWriter(new FileWriter(E:/des2.txt);String str;while (str = bf.readLine() != null) bw.write(str);bw.newLine();bf

31、.close();bw.close();2、參考答案import java.io.*;public class Test02 public static void main(String args) throws Exception BufferedReader br = new BufferedReader(new InputStreamReader(System.in);String password = ;boolean b = false;for (int i = 0; i 5; i+) System.out.println(請輸入密碼:);password = br.readLine

32、();if (password.equals(123456) System.out.println(恭喜你進入游戲);b = true;break;if (!b) System.out.println(密碼錯誤,游戲結束);System.exit(0);第9章 GUI(圖形用戶界面)一、填空題1、 GUI、java.awt、javax.swing2、 適配器3、 Graphics4、 事件監(jiān)聽器5、 JComponent 6、 窗體事件、鍵盤事件、鼠標事件、動作事件7、 WindowListener、windowClosing(WindowEvent e)8、 模態(tài)對話框、非模態(tài)對話框 9、

33、setLayout(null) 10、JMenuBar、JMenu、JMenuItem二、判斷題1、對 2、錯 3、對 4、錯 5、錯 三、選擇題1、D 2、D 3、ABD 4、A 5、D 6、ABCD 7、ABD 8、ABC 9、D 10、C四、程序分析題1、參考答案extends Stdno = new JTextField();Name = new JTexxtField();2、參考答案card.next(cp);cp.add(jbt);五、簡答題1、參考答案l 通過實現XxxListener接口或者繼承XxxAdapter類實現一個事件監(jiān)聽器類,并對處理監(jiān)聽動作的方法進行重寫l 創(chuàng)建

34、事件源對象和事件監(jiān)聽器對象l 調用事件源的addXxxLisntener()方法,為事件源注冊事件監(jiān)聽器對象2、參考答案AWT 是Abstract Window ToolKit (抽象窗口工具包)的縮寫,這個工具包提供了一套與本地圖形界面進行交互的接口。AWT 中的圖形函數與操作系統(tǒng)所提供的圖形函數之間有著一一對應的關系,當我們利用 AWT 來構件圖形用戶界面的時候,我們實際上是在利用操作系統(tǒng)所提供的圖形庫。由于不同操作系統(tǒng)的圖形庫所提供的功能是不一樣的,在一個平臺上存在的功能在另外一個平臺上則可能不存在。為了實現Java語言所宣稱的一次編譯,到處運行的概念,AWT 不得不通過犧牲功能來實現其

35、平臺無關性,也就是說,AWT 所提供的圖形功能是各種通用型操作系統(tǒng)所提供的圖形功能的交集。由于AWT 是依靠本地方法來實現其功能的,我們通常把AWT控件稱為重量級控件。 Swing 是在AWT的基礎上構建的一套新的圖形界面系統(tǒng),它提供了AWT 所能夠提供的所有功能,并且用純粹的Java代碼對AWT 的功能進行了大幅度的擴充。由于在Swing 中沒有使用本地方法來實現圖形功能,我們通常把Swing控件稱為輕量級控件。 AWT和Swing之間的基本區(qū)別:AWT 是基于本地方法的C/C+程序,其運行速度比較快;Swing是基于AWT 的Java程序,其運行速度比較慢。對于一個嵌入式應用來說,目標平臺

36、的硬件資源往往非常有限,而應用程序的運行速度又是項目中至關重要的因素。在這種矛盾的情況下,簡單而高效的AWT 當然成了嵌入式Java的第一選擇。而在普通的基于PC或者是工作站的標準Java應用中,硬件資源對應用程序所造成的限制往往不是項目中的關鍵因素,所以在標準版的Java中則提倡使用Swing,也就是通過犧牲速度來實現應用程序的功能。 六、編程題1、參考答案import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyMouseHandler extends JFrame public MyMous

37、eHandler() final JLabel label = new JLabel(此處顯示鼠標右鍵點擊的坐標);label.setOpaque(true);label.setBackground(Color.PINK);this.add(label, BorderLayout.NORTH);this.setSize(300, 200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent

38、e) if (e.getButton() = e.BUTTON1) int x = e.getX();int y = e.getY();String banner = 鼠標當前點擊位置的坐標是 + x + , + y;label.setText(banner););this.setVisible(true);public static void main(String args) new MyMouseHandler();2、參考答案import java.awt.*;import java.util.*;import javax.swing.*;import java.awt.event.*

39、;public class Information extends JFrame / 窗口NORTH部的JPanel面板 private JPanel panel = new JPanel();/ 愛好標簽private JLabel lb1 = new JLabel(愛好);/ 三個表示愛好的JCheckBox復選框private JCheckBox cb1 = new JCheckBox(羽毛球);private JCheckBox cb2 = new JCheckBox(乒乓球);private JCheckBox cb3 = new JCheckBox(唱歌);/ 性別標簽privat

40、e JLabel lb2 = new JLabel(性別);/ 表示性別的JRadioButton單選框private JRadioButton rb1 = new JRadioButton(男);private JRadioButton rb2 = new JRadioButton(女);/ ButtonGroup添加JRadioButton,實現單選功能private ButtonGroup bg = new ButtonGroup();/ 文本域組件private JTextArea area = new JTextArea();/ 窗口CENTER部的JScrollPane面板,其中放置area文本域 private JScrollPane pane =

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!