2022年Java基礎入門習題答案教學文案_第1頁
2022年Java基礎入門習題答案教學文案_第2頁
2022年Java基礎入門習題答案教學文案_第3頁
2022年Java基礎入門習題答案教學文案_第4頁
2022年Java基礎入門習題答案教學文案_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、此文檔僅供收集于網絡,如有侵權請聯系網站刪除Java 基礎入門習題答案第1章 Java 開發(fā)入門一、填空題1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin 5、 path、classpath 二、挑選題1、ABCD 2、C 3、D 4、B 5、B 三、簡答題1、 面對對象、跨平臺性、健壯性、安全性、可移植性、多線程性、動態(tài)性等;2、 JRE(Java Runtime Environment ,Java 運行時環(huán)境) ,它相當于操作系統部分,供應了 Java 程序運 行時所需要的基本條件和很多 Java 基礎類,例如, IO 類、 GUI 控件類

2、、網絡類等;JRE 是供應應一般用戶使用的,假如你只想運行別人開發(fā)好的 JRE;Java 程序,那么,你的運算機上必需且只需安裝JDK (Java Development Kit ,Java 開發(fā)工具包) ,它包含編譯工具、說明工具、文檔制作工具、打包工具多種與開發(fā)相關的工具,是供應應 Java 開發(fā)人員使用的;初學者學習和使用 Java 語言時,第一必需下載和安裝 JDK ;JDK 中已經包含了 JRE 部分,初學者安裝 JDK 后不必再去下載和安裝JRE 了;四、編程題public class HelloWorld public static void mainString args Sy

3、stem.out.println這是第一個Java程序! ; 第2章 Java 編程基礎一、填空題1、class 2、true 和 false3、單行注釋、多行注釋、文檔注釋4、基本數據類型、引用數據類型5、1、2、4、86、& & | | 7、08、5只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除9、3410、56 二、判定題1、 錯2、對3、錯4、對5、錯三、挑選題1、 AD 2、AD 3、C 4、ABCD 5、C 6 、A 7、AC 8、A 9、B 10、A 四、程序分析題1、 編譯不通過; int 值 4 和 b 相加時,由于變量b 的類型為 byte,取值范疇沒有int

4、類型大,存不下int類型的值,因此編譯不通過;2、 編譯不通過;這是由于 y 是在最里層的代碼塊中定義的一個變量,只有在那個代碼塊中才可使用,在使用 y = x; 語句時已經超過了3、 打印結果為: 3;4、 打印結果為:9 8 7 五、問答題y 變量的作用域,所以編譯無法通過;1、Java 語言的八種基本數據類型有:byte 字節(jié)型, 占一個字節(jié); short 短整型,占兩個字節(jié);int 整型,占 4 個字節(jié); long 長整型,占 8 個字節(jié); float 單精度浮點型,占 4 個字節(jié); double 雙精度浮點型,占 8 個字節(jié); char 字符型,占兩個字節(jié);boolean 型,表示規(guī)

5、律值,有 true 和 false 兩個值,分別占一個字節(jié);2、假如使用“& ” 在表達式之間進行連接,那么無論任何情形,“& ” 兩邊的表達式都會參加運算;假如使用“& ” 進行連接,當“& ” 左邊的表達式為 false,就不會執(zhí)行其右邊的表達式;例如定義 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、方法重載指的是在一個類中可以聲明多個同名的方法,而方法中參數的個數或者數據類型不一樣;

6、調用這些同名的方法時,六、編程題1、參考答案 public class Test01 JVM 會依據實際參數的不同綁定到不同的方法;public static void mainString args int sum = 0; for int i = 1; i 0 y = x + 3; else if x = 0 y = 0; else y = x * x - 1; return y; 3、參考答案 public class Test03 public static void mainString args int arr = 25, 24, 12, 76, 101, 96, 28 ; for

7、 int i = 0; i arr.length - 1; i+ / 定義內層循環(huán) for int j = 0; j arrj + 1 / 比較相鄰元素/ 下面的三行代碼用于交換兩個元素 int temp = arrj; arrj = arrj + 1; arrj + 1 = temp; for int i = 0; i 10 throw new NoThisSongException您播放的歌曲不存在; System.out.println 正在播放歌曲 ; public class Test03 public static void mainString args Player playe

8、r = new Player; try 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除 player.play13; catch NoThisSongException e 一、填空題1、 線程、通信2、 Thread、Runnable 3、 就緒4、 synchronized、對象、 this 5、 進程6、新建狀態(tài) New 、就緒狀態(tài) Runnable、運行狀態(tài) Running 、堵塞狀態(tài) Blocked 、死亡狀態(tài) Terminated 7、 10、1 8、 開啟一個新線程、run方法9、 wait 、notify 、notifyAll 10、setDaemontrue、st

9、art 二、判定題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、程序不能編譯通過,由于 RunHandler 類沒有實現 Runnable 接口,因此 RunHandler 的實例對象不能作為參數傳遞給 Thread 的構造方法;2、程序不能編譯通過,由于 Thread 的子類 A 重寫的 run 方法的拜訪級別不能低于父類 run 方法的;拜訪級別3、程序不能編譯通過,由于同步方法中調用 4、t.start; 五、簡答題wait 方法的對象必需為同步鎖對象;1、一種是繼承 j

10、ava.lang 包下的 Thread 類,覆寫 Thread 類的 run方法,在 run 方法中實現運行在線程上的代碼;new Thread public void run .start; 另一種就是實現java.lang.Runnable 接口,同樣是在run 方法中實現運行在線程上的代碼;new Threadnew Runnable public void run .start 2、調用 sleep方法,正在執(zhí)行的線程主動讓出 CPU 去執(zhí)行其他線程,在 sleep方法指定的時間過后,CPU 才會回到這個線程上連續(xù)往下執(zhí)行,假如當前線程進入了同步鎖,sleep方法并不會釋放鎖,即使當前

11、線程使用 sleep方法讓出了 CPU,但其它被同步鎖攔住了的線程也無法得到執(zhí)行;wait只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除在一個已經進入了同步鎖的線程內進行調用,讓當前線程臨時讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并運行;當其它線程調用了notify 方法后,調用wait 方法的線程就會解除 wait 狀態(tài),當再次獲得同步鎖后,程序可以連續(xù)向下執(zhí)行;六、編程題 1、參考答案 public class MyThread extends Thread public MyThreadString name supername; public void run

12、System.out.printlnthis.getName; public static void mainString args new MyThreadThread1.start; new MyThreadThread2.start; 2、參考答案 public class MyRunnable implements Runnable public void run for int i = 0; i 50; i+ System.out.printlnnew; public static void mainString args new Threadnew MyRunnable.start

13、; for int i = 0; i 100; i+ System.out.printlnmain; 3、參考答案 public class Test01 public static void mainString args Teacher t = new Teacher; new Threadt, 陳老師 .start; new Threadt, 高老師 .start; new Threadt, 李老師 .start; class Teacher implements Runnable private int notes = 80; public void run while true 只供

14、學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除dispatchNotes; / 調用售票方法 if notes 0 try Thread.sleep10; / 經過的線程休眠10 毫秒 catch InterruptedException e e.printStackTrace; System.out.printlnThread.currentThread.getName + -發(fā)出的筆記 + notes-; 4、參考答案 public class Accumulator extends Thread private int stratNum; public static int su

15、m; public Accumulatorint startNum this.stratNum = startNum; public static synchronized void addint num sum += num; public void run int sum = 0; for int i = 0; i 10; i+ sum += stratNum + i; addsum; public static void mainString args throws Exception Thread threadList = new Thread10; for int i = 0; i

16、10; i+ threadListi = new Accumulator10 * i + 1; threadListi.start; for int i = 0; i = 0; i- if chi = A & chi = a & chi = z buffer.appendString.valueOfchi.toUpperCase; System.out.printlnbuffer.toString; 2、 參考答案 import java.text.DateFormat; import java.util.Calendar; import java.util.Date; public clas

17、s Test02 public static void mainString args Calendar calendar = Calendar.getInstance; calendar.addCalendar.DATE, 100; Date date = calendar.getTime; DateFormat format = DateFormat.getDateInstanceDateFormat.FULL; String string = format.formatdate; System.out.printlnstring; 3、 參考答案 import java.util.Ran

18、dom; public class Test03 public static void mainString args Random rand = new Random; int num = new int5; for int i = 0; i num.length; i+ numi = 20 + rand.nextInt31; System.out.printlnnumi; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除 第7章 集合類一、填空題1、集合2、Comparator 3、有序、可重復,無序、不行重復4、hashNext、next 5、Collection 、Map 6

19、、鍵、值7、ListIterator 8、ArrayList 、LinkedList ,HashSet、TreeSet,HashMap、TreeMap 9、put、 get 10、Collections 、Arrays 二、判定題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、程序不行

20、以編譯通過,這是由于向ArrayList 集合中存入元素時,集合并不能記住元素的類型,因此在取出元素時,只能使用 Object 類型,而不能使用 String 類型;3、程序可以編譯通過,但是什么也沒有打?。皇褂?ListIterator 進行從后向前的遍歷集合,可以使用以下兩種方法,一是使用 listIteratorint index 方法將索引 index 的值設置為集合元素的數目,也就是 ListIterator it = list.listIterator3;,二是將程序先從前向后遍歷,然后再從后向前遍歷;4、程序編譯不通過,由于 Map 集合在遍歷的過程中不能使用集合對象本身刪除元素

21、,這會導致并發(fā)修改反常,如想刪除集合中的元素,可以使用 五、簡答題Iterator 的 remove方法;1、為了使程序能便利的儲備和操作數目不固定的一組數據,JDK 供應了一套類庫,這些類都位于 java.util 包中,統稱為集合;集合框架中包含 3 個接口,分別是 List 、Set、Map;2、List 的特點是元素有序、元素可重復;List 接口的主要實現類有 ArrayList 和 LinkedList ;Set 的特點是元素無序、 元素不行重復; Set 接口的主要實現類有HashSet 和 TreeSet;Map 的特點是儲備的元素是鍵 Key 、值Value映射關系,元素都是

22、成對顯現的;Map 接口的主要實現類有HashMap 和TreeMap;3、Collection 是一個單例集合接口;它供應了對集合對象進行基本操作的通用方法;Collections 是一 個工具類;它包含各種有關集合操作的方法;六、編程題 1、參考答案 import java.util.*; public class Test01 public static void mainString args ArrayList list = new ArrayList; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除forint i = 0; i 10; i+ list.addA+i;

23、Iterator it = list.iterator; whileit.hasNext Object obj = it.next; System.out.printlnobj; 2、參考答案 import java.util.*; public class Test02 public static void mainString args HashSet hashSet = new HashSet; Person p1 = new PersonJack,25; Person p2 = new PersonRose,23; Person p3 = new PersonJack,27; hash

24、Set.addp1; hashSet.addp2; hashSet.addp3; forObject obj:hashSet Person p=Personobj; System.out.println+:+p.age; class Person String name; int age; public PersonString name, int age super; = name; this.age = age; public int hashCode return name.hashCode; public boolean equalsObject obj if this = obj r

25、eturn true; if obj = null return false; Person other = Person obj; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除return .equals; 3、參考答案 import java.util.*; public class Test03 public static void mainString args TreeMap map = new TreeMapnew MyComparator; map.put1, Lucy; map.put2, Lucy; map.put3, John; map.put4, Smith

26、; map.put5, Amanda; for Object key : map.keySet System.out.printlnkey + : + map.getkey; class MyComparator implements Comparator public int compareObject obj1, Object obj2 String ele1 = String obj1; String ele2 = String obj2; return pareToele1; 第8章 IO(輸入輸出)一、填空題 1、 字節(jié)流、字符流 2、 File 、java.io 3、 Sequen

27、ceInputStream 4、 RandomAccessFile 5、 管道流 6、 LineNumberReader 、BufferedReader、setLineNumberint 、getLineNumber 7、 字節(jié)流、字符流 8、 PrintStream 、setOutPrintStream out 9、 Unicode 10、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、InputStr

28、eamReader、br.readLine 、運行結果為 2 2、FileInputStreamfile1 、FileOutputStream 、fis.available 五、問答題1、Java 程序通過流來完成輸入和輸出,流是輸入或輸出信息的抽象;流通過 Java的輸入 /輸出系統與外設連接進行數據通信;流是抽象的對象,詳細實現代碼在 java.io 包中;2、字節(jié)流的兩個基類是 InputStream 和 OutputStream,字符流的兩個基類是 Reader 和 Writer ,它們都是 Object 類的直接子類,字節(jié)流是處理以 8 位字節(jié)為基本單位的字節(jié)流類;Reader 和

29、Writer 類是特地處理 16 位字節(jié)的字符流類;3、管道流分為管道輸入流(PipedInputStream)和管道輸出流(PipedOutputStream),通常由一個PipedInputStream 實例對象和一個PipedOutputStream 實例對象相互連接而實現管道通信,PipedOutputStream 向管道寫入數據,PipedInputStream 從管道中讀取PipedOutputStream 寫入的數據,管道流主要用來完成線程之間的通信;六、編程題 1、參考答案 import java.io.*; public class Test01 public static

30、void mainString args throws Exception / 字節(jié)流拷貝 FileInputStream in = new FileInputStreamE:/src.txt; FileOutputStream out = new FileOutputStreamE:/des1.txt; byte buf = new byte1024; int len; while len = in.readbuf .= -1 out.writebuf, 0, len; in.close; out.close; / 字符流拷貝 BufferedReader bf = new Buffered

31、Readernew FileReaderE:/src.txt; BufferedWriter bw = new BufferedWriternew FileWriterE:/des2.txt; String str; while str = bf.readLine .= null bw.writestr; bw.newLine; bf.close; bw.close; 2、參考答案 import java.io.*; public class Test02 public static void mainString args throws Exception BufferedReader br

32、 = new BufferedReadernew InputStreamReaderSystem.in; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除String password = ; boolean b = false; for int i = 0; i 5; i+ System.out.println 請輸入密碼 :; password = br.readLine; if password.equals123456 System.out.println恭喜你進入嬉戲; b = true; break; if .b System.out.println密碼錯誤,嬉戲終止;

33、System.exit0; 第9章 GUI (圖形用戶界面)一、填空題 1、 GUI 、java.awt、javax.swing 2、 適配器 3、 Graphics 4、 大事監(jiān)聽器 5、 JComponent 6、 窗體大事、鍵盤大事、鼠標大事、動作大事 7、 WindowListener 、windowClosingWindowEvent e 8、 模態(tài)對話框、非模態(tài)對話框 9、 setLayoutnull 10、JMenuBar 、JMenu、JMenuItem 二、判定題1、對2、錯3、對4、錯5、錯三、挑選題1、D 2、 D 3、ABD 4、 A 5、D 6、ABCD 7、ABD

34、8、ABC 9、D 10、C 四、程序分析題1、參考答案 extends Stdno = new JTextField; Name = new JTexxtField; 2、參考答案 card.nextcp; cp.addjbt; 五、簡答題只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除1、參考答案通過實現 XxxListener 接口或者繼承 方法進行重寫創(chuàng)建大事源對象和大事監(jiān)聽器對象XxxAdapter 類實現一個大事監(jiān)聽器類,并對處理監(jiān)聽動作的調用大事源的 addXxxLisntener 方法,為大事源注冊大事監(jiān)聽器對象2、參考答案AWT 是 Abstract Window

35、ToolKit 抽象窗口工具包 的縮寫, 這個工具包供應了一套與本地圖形界面進行交互的接口;AWT 中的圖形函數與操作系統所供應的圖形函數之間有著一一對應的關系,當我們利用 AWT 來構件圖形用戶界面的時候,我們實際上是在利用操作系統所供應的圖形庫;由于不同操作系統的圖形庫所供應的功能是不一樣的,在一個平臺上存在的功能在另外一個平臺上就可能不存在;為了實現Java 語言所宣稱的 一次編譯,處處運行的概念, AWT 不得不通過犧牲功能來實現其平臺無關性, 也就是說, AWT 所供應的圖形功能是各種通用型操作系統所供應的圖形功能的交集;由于 AWT 是依靠本地方法來實現其功能的,我們通常把AWT

36、控件稱為重量級控件;Swing 是在 AWT 的基礎上構建的一套新的圖形界面系統,它供應了 AWT 所能夠供應的全部功能,并且用純粹的 Java 代碼對 AWT 的功能進行了大幅度的擴充;由于在 Swing 中沒有使用本地方法來實現圖形功能,我們通常把Swing 控件稱為輕量級控件;AWT 和 Swing 之間的基本區(qū)分: AWT 是基于本地方法的C/C+ 程序,其運行速度比較快;Swing是基于 AWT 的 Java 程序,其運行速度比較慢;對于一個嵌入式應用來說,目標平臺的硬件資源往往 特別有限,而應用程序的運行速度又是項目中至關重要的因素;在這種沖突的情形下,簡潔而高效的 AWT 當然成

37、了嵌入式 Java 的第一挑選;而在一般的基于 PC 或者是工作站的標準 Java 應用中,硬件 Java中就提倡使用 Swing,資源對應用程序所造成的限制往往不是項目中的關鍵因素,所以在標準版的 也就是通過犧牲速度來實現應用程序的功能;六、編程題 1、參考答案 import java.awt.*; import java.awt.event.*;import javax.swing.*; public class MyMouseHandler extends JFrame public MyMouseHandler final JLabel label = new JLabel此處顯示鼠標

38、右鍵點擊的坐標; label.setOpaquetrue; label.setBackgroundColor.PINK; this.addlabel, BorderLayout.NORTH; this.setSize300, 200; this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; this.addMouseListenernew MouseAdapter public void mouseClickedMouseEvent e if e.getButton = e.BUTTON1 int x = e.getX; int y = e.get

39、Y; String banner = 鼠標當前點擊位置的坐標是 + x + , + y; label.setTextbanner; ; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除this.setVisibletrue; public static void mainString args new MyMouseHandler; 2、參考答案import java.awt.*; import java.util.*; import javax.swing.*; import java.awt.event.*; public class Information extends JF

40、rame / 窗口 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 唱歌 ; / 性別標簽private JLabel lb2 = new JLabel 性別 ;

41、 / 表示性別的 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 JScrol

42、lPane pane = new JScrollPanearea; / Set 集合存放選中的愛好private Set hobbies = new HashSet; / gender 選中的性別private String gender = ; / JCheckBox 復選框的大事監(jiān)聽器private ActionListener listener1 = new ActionListener public void actionPerformedActionEvent e JCheckBox cb = JCheckBox e.getSource; / 選中的復選框把文本添加到Set集合中if

43、 cb.isSelected hobbies.addcb.getText; / 反之從集合中移除 else 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除hobbies.removecb.getText; print; ; / JRadioButton 單項框的大事監(jiān)聽器 private ActionListener listener2 = new ActionListener public void actionPerformedActionEvent e JRadioButton jb = JRadioButton e.getSource; gender = jb.getTex

44、t; print; ; / 打印方法 private void print / 清空文本域 area.setText; / 假如 Set 集合中有元素,打印愛好 if hobbies.size 0 area.append你的愛好愛好有: ; Iterator it = hobbies.iterator; while it.hasNext area.appendit.next + ; / 假如 gender不為空字符串,打印性別if .equalsgender area.append 你的性別為: + gender; public Information / 添加標簽、單項和復選按鈕 panel

45、.addlb1; panel.addcb1; panel.addcb2; panel.addcb3; panel.addlb2; panel.addrb1; panel.addrb2; bg.addrb1; bg.addrb2; / 為單項和復選按鈕添加大事監(jiān)聽器 cb1.addActionListenerlistener1; cb2.addActionListenerlistener1; cb3.addActionListenerlistener1; rb1.addActionListenerlistener2; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除rb2.addAct

46、ionListenerlistener2; / 將 JPanel面板和 JScrollPane面板添加到JFrame容器中Container container = this.getContentPane; container.addpanel, BorderLayout.NORTH; container.addpane, BorderLayout.CENTER; this.pack; this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; this.setVisibletrue; public static void mainString arg

47、s new Information; 3、參考答案 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyMenu extends JFrame implements ActionListener JLabel label = new JLabel 請?zhí)暨x菜單 , JLabel.CENTER; JMenuItem aaMenuItem, baMenuItem; MyMenu JMenuBar menuBar = new JMenuBar; JMenu aMenu = new JMenu

48、菜單 A; JMenu bMenu = new JMenu 菜單 B; JMenuItem aaMenuItem = new JMenuItem 菜單項 AA; JMenuItem abMenuItem = new JMenuItem 菜單項 AB; JMenuItem baMenuItem = new JMenuItem 菜單項 BA; menuBar.addaMenu; menuBar.addbMenu; aMenu.addaaMenuItem; aMenu.addSeparator; aMenu.addabMenuItem; bMenu.addbaMenuItem; aaMenuItem

49、.addActionListenerthis; abMenuItem.addActionListenerthis; baMenuItem.addActionListenerthis; setJMenuBarmenuBar; getContentPane.addlabel, BorderLayout.CENTER; public void actionPerformedActionEvent e JMenuItem source = JMenuItem e.getSource; label.setText 挑選了菜單 : + source.getText; label.setHorizontal

50、AlignmentJLabel.CENTER; 只供學習與溝通此文檔僅供收集于網絡,如有侵權請聯系網站刪除public static void mainString args JFrame frame = new MyMenu; frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; frame.setSize300, 200; frame.setVisibletrue; 第10章 網絡編程一、填空題 1、面對連接、客戶端、服務器端 2、2、0-65535 3、鏈路層、網絡層、運輸層、應用層 4、InetAddress 5、DatagramPac

51、ket、DatagramSocket 二、判定題1、錯2、對3、對4、錯5、對三、挑選題1、C 2.A 3、ABD 4、B 5.、A 6、D 7、B 8、C 四、簡答題 1、在 Internet 中傳輸數據都需要遵守肯定的規(guī)章,這種規(guī)章通常被稱作網絡通信協議;網絡通信協議 對數據傳輸格式、傳輸速率、傳輸步驟等作了統一規(guī)定,通信雙方必需共同遵守這個規(guī)定才能完 成數據的交互;到目前為止,網絡通信協議已經有很多種,其中 TCP/IP 協議在世界范疇內應用最 為廣泛;2、UDP 協議是無連接通信協議,所謂的無連接就是指數據的發(fā)送端和接收端不建立規(guī)律連接;由于 UDP 協議在傳 UDP 協議消耗資源小,

52、通信效率高,通常都會用于音頻、視頻和一般數據的傳輸;輸數據時不能保證數據的完整性,因此在傳輸重要數據時不建議使用 UDP 協議;TCP 協議是面對連接的通信協議,即在傳輸數據前先在發(fā)送端和接收端建立規(guī)律連接,然后再傳輸數據,它供應了兩臺運算機之間牢靠無差錯的數據傳輸;在TCP 連接中必需要明確客戶端與服務器端,由客戶端向服務端發(fā)出連接懇求,每次連接的創(chuàng)建都需要經過“ 三次握手”;3、ServerSocket 類用于創(chuàng)建服務端程序,的懇求;通過調用 ServerSocket 對象的 accept方法, 接收來自客戶端Socket 類用于創(chuàng)建客戶端程序,當客戶端和服務端的兩個 Socket 建立了專線連接后,連接的一端既能向另一端連續(xù)寫入字節(jié),也能從另一端讀取字節(jié);Socket 類中定義了 getInputStream 方法返回 Socket 的輸入流對象,定義了 getOutputStream 方法返回 Socket 的輸出流對象;只要連接的一端向該輸出流對象寫入了數據,連接的另一端就能從其輸入流對象中讀取

溫馨提示

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

評論

0/150

提交評論