日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

《JAVA语言程序设计》期末考试试题及答案

發(fā)布時(shí)間:2024/1/8 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《JAVA语言程序设计》期末考试试题及答案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 《JAVA語言程序設(shè)計(jì)》期末考試試題及答案1(應(yīng)考必備題庫)
      • 一、單選擇題
      • 二、填空題
      • 三、寫出下面程序的運(yùn)行結(jié)果
    • 《JAVA語言程序設(shè)計(jì)》期末考試試題及答案2(應(yīng)考必備題庫)
      • 一.判斷題
      • 二.單項(xiàng)選擇題
      • 三.程序閱讀題
      • 四.閱讀以下程序,寫出輸出結(jié)果。
    • 《JAVA語言程序設(shè)計(jì)》期末考試試題及答案3(應(yīng)考必備題庫)
      • 一、單項(xiàng)選擇題
      • 二、填空題
      • 三、程序閱讀題
      • 四、簡答題
    • 《JAVA語言程序設(shè)計(jì)》期末考試試題及答案4(應(yīng)考必備題庫)
      • 一、 單選題
      • 二、程序閱讀題
    • 《JAVA程序設(shè)計(jì)》期末考試試題 (五)
      • 一、 單選題
      • 二、程序閱讀題
    • 《JAVA程序設(shè)計(jì)》期末考試試題 (六)
      • 一、填空題
      • 二、選擇題
      • 三、程序填空題
    • 《JAVA程序設(shè)計(jì)》期末考試試題 (七)
      • 一、選擇題
      • 二.讀程序題
      • 三 . 簡答題

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案1(應(yīng)考必備題庫)

一、單選擇題

1、編譯Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為( B )。
A. java B. .class
C. html D. .exe
2、設(shè) x = 1 , y = 2 , z = 3,則表達(dá)式 y+=z--/++x 的值是( A )。

A. 3 B. 3. 5
C. 4 D. 5

z-- 先返回值在運(yùn)算,故:返回值是3,z的值變?yōu)? ++x 先運(yùn)算再返回值,故:x值變2,返回2; 3/2整形數(shù)據(jù)范圍內(nèi)的計(jì)算,返回1; y +=1 y = 3; 返回y = 3.

3、不允許作為類及類成員的訪問控制符的是( C )。
A. public B. private
C. static D. protected
4、為AB類的一個(gè)無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為( A )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
5、給定java 代碼如下,編譯運(yùn)行后,輸出結(jié)果是(C )。

public class test { static int i; public int aMethod() { i++; return i; } public static void main (String args[]) { Test test=new Test() ; test.aMethod () ; System.out.println (test.aMethod()) ; } } //int初始值為0,aMethod調(diào)用了兩次所以結(jié)果為2

a) 0 b) 1 c) 2 d) 3
6、如下哪個(gè)是合法的Java中的標(biāo)識(shí)符( A )。
A、fieldname B、super C、3number D、#number
7、下面的代碼段執(zhí)行之后count的值是什么( D)。

int count = 1; for (int i = 1; i <= 5; i++) {//第一次i出去是1count += i;} System.out.println(count);

A、5 B、1 C、15 D、16
8、下列哪一個(gè)import命令可以使我們在程序中創(chuàng)建輸入/輸出流對(duì)象( C )。
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
9、下列程序段執(zhí)行后的結(jié)果是(A )。

str.charAt(i)的意思是第i個(gè)字符在字符串str中所占的位置 length() 返回字符串的長度 String s = new String("abcdefg"); for (int i=0; i<s.length(); i+=2){//i第一次輸出的值是0System.out.print(s.charAt(i));}

A) aceg B) ACEG C) abcdefg D) abcd
10.Java“一次編譯,隨處運(yùn)行”的特點(diǎn)在于其( A )
A.跨平臺(tái)性 B.面向?qū)ο笮?C.多線程性 D.安全性
11.下列有關(guān)類、對(duì)象和實(shí)例的敘述,正確的是( B)
A.類就是對(duì)象,對(duì)象就是類,實(shí)例是對(duì)象的另一個(gè)名稱,三者沒有差別
B.類是對(duì)象的抽象,對(duì)象是類的具體化,實(shí)例是對(duì)象的另一個(gè)名稱
C.對(duì)象是類的抽象,類是對(duì)象的具體化,實(shí)例是對(duì)象的另一個(gè)名稱
D.類是對(duì)象的抽象,對(duì)象是類的具體化,實(shí)例是類的另一個(gè)名稱
12.下列( D )不是面向?qū)ο蟪绦蛟O(shè)計(jì)方法的特點(diǎn)。D
A.封裝 B.繼承 C.多態(tài) D.結(jié)構(gòu)化
13.下列哪個(gè)屬于容器的構(gòu)件(B )?
A.JFrame B.JButton C.JPanel D.JApplet
B)JButton屬于容器的構(gòu)件,容器是用來存放構(gòu)件的,而構(gòu)件必須要放在容器上才能顯示起作用
如果只創(chuàng)建出一個(gè)JButton來,沒有任何意義,只有放在其它三項(xiàng)的容器里面,才能看到使用
14.下列有關(guān)父類屬性和方法繼承規(guī)則的描述錯(cuò)誤的是( A )
A.父類中private修飾的屬性和方法在子類中不被繼承
B.父類中public修飾的屬性和方法在子類中被繼承且可訪問
C.父類中protected修飾的屬性和方法在子類中被繼承且可訪問
D.父類中default修飾的屬性和方法在之類中被繼承,若父類和子類在同一個(gè)包中,則也可訪問

二、填空題

1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個(gè)主要步驟為

編輯源程序 、編譯生成字節(jié)碼 和 解釋運(yùn)行字節(jié)碼 。

2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個(gè)Unicode碼占
用 2 字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占
用 2 字節(jié)內(nèi)存空間。
3、設(shè) x = 2 ,則表達(dá)式 ( x + + )/3 的值是 0 。
4、若x = 5,y = 10,則x < y和x >= y的邏輯值分別為 true 和 false 。
5、 抽象(abstract) 方法是一種僅有方法頭,沒有具體方法體和操作實(shí)現(xiàn)的方法,該方法必須在抽象類之中定義。 最終(final) 方法是不能被當(dāng)前類的子類重新定義的方法。
6、創(chuàng)建一個(gè)名為 MyPackage 的包的語句是package MyPackage ; ,
該語句應(yīng)該放在程序的位置為: 應(yīng)該在程序第一句 。
7、設(shè)有數(shù)組定義:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 則執(zhí)行以下幾個(gè)語句后的輸出結(jié)果是 120 。

int s = 0 ;for (int i = 0 ; i < MyIntArray.length ; i + + )if ( i % 2 = = 1 ) s += MyIntArray[i] ;System.out.println(s);

8、在Java程序中,通過類的定義只能實(shí)現(xiàn) 單 重繼承,但通過接口的定義可以實(shí)現(xiàn) 多 重繼承關(guān)系。
9、面向?qū)ο蟮能浖_發(fā)方法用類把(數(shù)據(jù))和基于數(shù)據(jù)的(操作)封裝在一起。
10、在Java語言中,用來分配內(nèi)存的運(yùn)算符是 new 。
11、接口中的方法只能是_____抽象方法________。
12、javax.swing包中的 JMenu 類是負(fù)責(zé)創(chuàng)建菜單的,它的一個(gè)實(shí)例就是一個(gè)菜單。

三、寫出下面程序的運(yùn)行結(jié)果

1import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA.");System.out.println(s.toString( ));} } class AB {String s1;String s2;public AB(String str1, String str2){ s1 = str1; s2 = str2; }public String toString( ){ return s1+s2; } }

運(yùn)行結(jié)果:Hello! I love JAVA.

2import java.io.* ;public class abc{public static void main(String args[ ]){ int i, s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s);}}

運(yùn)行結(jié)果:s = 180

3class Parent {String one, two;public Parent(String a, String b){one = a;two = b;}public void print(){ System.out.println(one); }}public class Child extends Parent {public Child(String a, String b){super(a,b);}public void print(){System.out.println(one + " to " + two);}public static void main(String args[]){Parent p = new Parent("south", "north");Parent t = new Child("east", "west");p.print();t.print();}}

運(yùn)行結(jié)果 south
east to west
四、編程題
1、編寫Java GUI應(yīng)用程序,完成從鍵盤輸入矩形的長和寬,求矩形的周長和面積并輸出結(jié)果的功能,如下圖所示。

答:

import javax.swing.JOptionPane; public class Rect { public static void main(String args[]) {String s;double length,width,girth,area;s = JOptionPane.showInputDialog("輸入矩形的長:");length = Double.parseDouble(s);s = JOptionPane.showInputDialog("輸入矩形的寬:");width = Double.parseDouble(s);girth = (length + width) * 2;area = length * width;JOptionPane.showMessageDialog(null,"周長為:" + girth + "\n" + "面積為:" + area); } }

2、用Java Application編寫一個(gè)程序,輸出你的班級(jí)和姓名。
答:

public class HelloJava { //類定義正確3分public static void main(String[] args) {//2分System.out.println("學(xué)號(hào)=2013001,姓名=張三");//5分} }

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案2(應(yīng)考必備題庫)

一.判斷題

1.在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可以對(duì)應(yīng)多個(gè)catch語句,若catch中的參數(shù)類型有父類子類關(guān)系,此時(shí)應(yīng)該將父類放在后面,子類放在前面。( √ )
2.子類只能繼承父類的public,protected和同一個(gè)包中的package級(jí)的成員。( √ )
3.在類中實(shí)現(xiàn)一個(gè)接口,則一定要實(shí)現(xiàn)接口中的所有方法。( × )
4.抽象方法不僅有方法頭,還應(yīng)該有方法體。( × )
擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。
5.在比較str1和str2兩個(gè)字符串對(duì)象值是否相等時(shí)使用語句str1==str2。( √ )
6.Java的源代碼中定義幾個(gè)類,編譯結(jié)果就生成幾個(gè)以.class為后綴的字節(jié)碼文件。(√ )
7.Java程序里,創(chuàng)建新的類對(duì)象用關(guān)鍵字new,回收無用的類對(duì)象使用關(guān)鍵字free。 (× )
java自動(dòng)回收機(jī)制
8.構(gòu)造函數(shù)用于創(chuàng)建類的實(shí)例對(duì)象,構(gòu)造函數(shù)名應(yīng)與類名相同,返回類型為void。 (× )
構(gòu)造函數(shù)無返回值
9.如果源文件包含import語句,則該語句必須是除空行和注釋行外的第一個(gè)語句行。( √ )
10.擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。 (√ )
11.靜態(tài)初始化器是在其所屬的類加載內(nèi)存時(shí)由系統(tǒng)自動(dòng)調(diào)用執(zhí)行。 (√ )
12.在Java中對(duì)象可以賦值,只要使用賦值號(hào)(等號(hào))即可,相當(dāng)于生成了一個(gè)各屬性與賦值對(duì)象相同的新對(duì)象。 (× )
13.Java applet也能夠存取客戶機(jī)磁盤上的文件。( √ )
14.進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行過程。一個(gè)進(jìn)程在其執(zhí)行過程中,可以產(chǎn)生多個(gè)線程——多線程,形成多條執(zhí)行線索。( √ )

二.單項(xiàng)選擇題

1.Java application中的主類需包含main方法,以下哪項(xiàng)是main方法的正確形參?( B)
A、 String args B、String args[] C、Char arg D、StringBuffer args[]
2.以下關(guān)于繼承的敘述正確的是(A )。
A、在Java中類只允許單一繼承
B、在Java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
C、在Java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口
D、在Java中接口只允許單一繼承
3.paint()方法使用哪種類型的參數(shù)? (A )
A、Graphics B、Graphics2D C、String D、Color
4.以下哪個(gè)不是Java的原始數(shù)據(jù)類型( B )
A、int B、Boolean C、float D、char
5.若需要定義一個(gè)類域或類方法,應(yīng)使用哪種修飾符?( A )
A、static B、package C、private D、public
6.在瀏覽器中執(zhí)行applet 程序,以下選項(xiàng)中的哪個(gè)方法將被最先執(zhí)行( A )。
A、init() B、start() C、destroy() D、stop()
7.有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。( D )
1.
2 .public class Interesting{
3. //do sth
4.}
A、import java.awt.; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
8. 設(shè)有下面兩個(gè)賦值語句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述說法正確的是( D )。
A、a是整數(shù)類型變量,b是整數(shù)類對(duì)象。
B、a是整數(shù)類對(duì)象,b是整數(shù)類型變量。
C、a和b都是整數(shù)類對(duì)象并且值相等。
D、a和b都是整數(shù)類型變量并且值相等。
9.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父類,以下哪個(gè)類可能是FilterOutputStream構(gòu)造函數(shù)的參數(shù)類型?(A)
A、OutputStream B、File
C、InputStream D、BufferedOutputStream
10.在編寫Java Applet程序時(shí),需在程序的開頭寫上( B )語句。
A、import java.awt. ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
11.在使用interface聲明一個(gè)接口時(shí),只可以使用( D )修飾符修飾該接口。
A、private B、protected C、private protected D、public
12.Java源文件和編譯后的文件擴(kuò)展名分別為( B )
A.class 和java B.java 和class C.class和class D.java和java
13.下列說法中,不正確的一項(xiàng)是(B )
A.Java程序只有兩類:Application和Applet
B.類的方法只能由public修飾
C.面向?qū)ο蟮某绦蛟O(shè)計(jì)的優(yōu)點(diǎn)有可重用性、可擴(kuò)展性、可管理性
D.Java語言通過接口支持多重繼承
14.main(B)方法是Java Application程序執(zhí)行的入口點(diǎn),關(guān)于main()方法的方法頭,下面( )是合法的。
A.public static void main ()
B.public static void main (String args[ ])
C.public static int main (String [ ] args)
D.public void main (String args[ ])
15.在類中若要處理ItemEvent事件,則該類需要實(shí)現(xiàn)的接口是(A )
A.ItemListener B.ActionListener C. itemStateChanged D. Event
16.將GUI窗口中的組件按照從左到右如打字式排列的布局管理器是( A )
A.FlowLayout B.BorderLayout C.GirdLayout D.CardLayout

三.程序閱讀題

1.以下程序的輸出結(jié)果為 相等 。

class StringTest1 {public static void main(String[] args) {String s1="hello";String s2=new String("hello");if(s1.equals(s2)){System.out.println("相等");}else{System.out.println("不相等");}} }

2.以下程序段的輸出結(jié)果為 5 6 7 8 9 。

public class TestArray {public static void main(String args[ ]){ int i , j ;int a[ ] = { 5,9,6,8,7};for ( i = 0 ; i < a.length-1; i ++ ) {int k = i;for ( j = i ; j < a.length ; j++ )if ( a[j]<a[k] ) k = j;int temp =a[i];a[i] = a[k];a[k] = temp;}for ( i =0 ; i<a.length; i++ )System.out.print(a[i]+" ");System.out.println( );} }

3.寫出以下程序的功能。

import java.io.*; public class TestFile {public static void main(String args[]) throws Exception{BufferedReader br = new BufferedReader( new InputStreamReader(System.in));BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt"));String s;while (true){System.out.print("請輸入一個(gè)字符串: ");System.out.flush();s=br.readLine();if (s.length()==0) break;bw.write(s);bw.newLine();}bw.close();} }

功能:從鍵盤逐一輸入字符串,逐一輸出至input.txt文件中,直至輸入空行。

四.閱讀以下程序,寫出輸出結(jié)果。

class Animal {Animal() {System.out.print ("Animal "); } } public class Dog extends Animal {Dog() {System.out.print ("Dog "); }public static void main(String[] args) {Dog snoppy= new Dog(); } }

輸出結(jié)果:Animal Dog

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案3(應(yīng)考必備題庫)

一、單項(xiàng)選擇題

1、如下哪個(gè)是Java中的標(biāo)識(shí)符(D)
A、public B、super C、3number D、width
2、如下哪個(gè)是Java中的標(biāo)識(shí)符( A)
A、fieldname B、super C、3number D、#number
3、已知如下定義:String s = “story”; 下面哪個(gè)語句不是合法的(C )
A、s += “books”; B、s = s + 100;
C、int len = s.length; D、String t = s + “abc”;
4、如下哪個(gè)是Java中有效的關(guān)鍵字(C )
A、name B、hello C、false D、good
5、下面的代碼段執(zhí)行之后count的值是什么( D )

int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);

A、5 B、1 C、15 D、16
6、定義一個(gè)類,必須使用的關(guān)鍵字是(B )
A、public B、class C、interface D、static
7、定義一個(gè)接口必須使用的關(guān)鍵字是(C )
A、public B、class C、interface D、static
8、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個(gè)按鈕b,應(yīng)該使用的語句是( C)
A、p.add(b); B、p.add(b,“North”);
C、p.add(b,“South”); D、b.add(p,“North”);
9、聲明并創(chuàng)建一個(gè)按鈕對(duì)象b,應(yīng)該使用的語句是( A )
A、Button b=new Button(); B、button b=new button();
C、Button b=new b(); D、b.setLabel(“確定”);
10、Frame對(duì)象默認(rèn)的布局管理器是( B )
A、FlowLayout B、BorderLayout
C、CardLayout D、null
11、下列哪一個(gè)import命令可以使我們在程序中創(chuàng)建輸入/輸出流對(duì)象(C)
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
12、下面哪一個(gè)import命令可以為我們提供編寫網(wǎng)絡(luò)應(yīng)用程序的類(D)
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
13、如果需要從文件中讀取數(shù)據(jù),則可以在程序中創(chuàng)建哪一個(gè)類的對(duì)象(A)
A、FileInputStream B、FileOutputStream
C、DataOutputStream D、FileWriter
14、在編寫Java Applet程序時(shí),需在程序的開頭寫上( B)語句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
15、如何在框架(Frame)中顯示標(biāo)題?(C )
A、調(diào)用根窗格的set Title 函數(shù)顯示
B、調(diào)用內(nèi)容窗格的setTitle函數(shù)顯示
C、調(diào)用框架對(duì)象的setTitle函數(shù)顯示
D、調(diào)用框架對(duì)象的Border對(duì)象的setTitle函數(shù)顯示
16、下列各種java中的構(gòu)造函數(shù)定義,那種形式是錯(cuò)誤的構(gòu)造函數(shù)定義( C)。

A 、 class MyClass { public MyClass() { } } B、 class MyClass { public MyClass(int X) { } } C、 class MyClass { public int MyClass() { } } D、 class MyClass { public MyClass(int x, int y) { } }

17、Java屬于( A )型語言。
A.解釋 B.編譯 C.多線程性 D.安全性
18、下列哪項(xiàng)不是Java語言中所規(guī)定的注釋樣式?( B)
A.//單行注釋 B.–單行注釋
C./* D./**
*多行注釋 *文檔注釋
*/ */

1, // 注釋一行 2, /* ...... */ 注釋若干行 3, /**……*/文檔注釋

19、以下關(guān)于抽象類和接口的說法正確的是( B )。
A.抽象類可以用來定義接口 B.定義抽象類時(shí)需要abstract
C.抽象類中的所有方法都是具體的 D.抽象類可以是對(duì)接口的實(shí)現(xiàn)
20、Applet可以做下列哪些操作( D)?
A.讀取客戶端文件  B.在客戶端主機(jī)上創(chuàng)建新文件
C.在客戶端裝載程序庫  D.讀取客戶端部分系統(tǒng)變量
21、下列說法中,錯(cuò)誤的一項(xiàng)是( D )
A.在Java中,若要處理某類事件,必須定義相關(guān)的事件處理類
B.在對(duì)事件源實(shí)例化之后,要注冊相應(yīng)事件的監(jiān)聽器
C.事件處理類必須實(shí)現(xiàn)與該類事件相對(duì)應(yīng)的監(jiān)聽器接口
D.事件源通常是一個(gè)構(gòu)件,也稱做監(jiān)聽器
22、下列哪項(xiàng)是不能改變線程狀態(tài)的方法?(C )
A.start( ) B.sleep( ) C.main( ) D.stop( )

二、填空題

1、如果將類MyClass聲明為public,它的文件名稱必須是(MyClass.java)才能正常編譯。
2、Java程序中的單行注釋符是( // ),多行注釋符是( /* */ )。

1, // 注釋一行 2, /* ...... */ 注釋若干行 3, /**……*/文檔注釋

3、Java中布爾類型的常量有兩種,它們是(true)和(false)。
4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè):(float) 和 (double),后者精度高于前者。
5、Java中用于兩個(gè)數(shù)相等比較的運(yùn)算符是:(==),用于不相等比較的運(yùn)算符是(<>)。
6、在Java中定義一個(gè)字符串類型的變量str的語句是:(String str;) ,定義一個(gè)具有10個(gè)元素的整型數(shù)組a的語句是:(int[ ] arr = new int[10];) 。
7、導(dǎo)入mypackage包中的所類的命令是( import mypackage.*; )。
8、當(dāng)聲明一個(gè)數(shù)組int arr[] = new int[5]; 時(shí),這代表這個(gè)數(shù)組所保存的變量類型是(int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標(biāo)的使用范圍是(0到4)。
9、假設(shè)x=13,y=4,則表達(dá)式x%y != 0的值是(true),其數(shù)據(jù)類型是(boolean)。
10、異常處理是由(try)、(catch)和finally塊三個(gè)關(guān)鍵所組成的程序塊。
11、以下程序段的輸出結(jié)果是(三角形)

int x = 5, y = 6, z = 4;if (x + y > z && x + z > y && z + y > x)System.out.println("三角形");elseSystem.out.println("不是三角形");

12、下面程序段的執(zhí)行結(jié)果是(6 5 4 3 2)

int a[] = { 2, 3, 4, 5, 6 };for (int i = a.length - 1; i >= 0; i--)//這里的a表示你上面定義的那個(gè)整型一維數(shù)組,然后a.length表示a數(shù)組的長度,第一次i出去是4所以a【4】=6System.out.print(a[i] + "");

13、定義類的保留字是( class ),定義接口的保留字是( interface )。
14、構(gòu)造方法是一種特殊的成員方法,構(gòu)造方法名與( 類名 ) 相同。
15、Java語言只允許單繼承,指每個(gè)類只能有一個(gè) ( 父類 ) ,但通過接口的定義可以實(shí)現(xiàn)( 多重 ) 繼承關(guān)系。
16、在Java中,抽象類不能 被實(shí)例化 。
17、在Java中,為了能監(jiān)視到ActionEvent類型的事件,事件源必須使用 addActionListener( ) 方法獲得監(jiān)視器。
18、利用DriverManager類的 getConnection(String url)靜態(tài)方法創(chuàng)建數(shù)據(jù)庫連接。

三、程序閱讀題

1、以下程序的輸出結(jié)果為_ Peter is 17 years old!___。

public class Person {String name;int age;public Person(String name, int age) {this.name = name;this.age = age;}public static void main(String[] args) {Person c = new Person("Peter", 17);System.out.println(c.name + " is " + c.age + " years old!");} }

2、閱讀以下程序,輸出結(jié)果為 90and10

public class ClassA {public int a; } class ClassB extends ClassA {public String b="and"; } class ClassC extends ClassB { public int c;public static void main(String[] args) {ClassC cc=new ClassC();cc.a=90;cc.c=10;System.out.println(cc.a+cc.b+cc.c);}}

3、以下程序的輸出結(jié)果為__課程號(hào):101 課程名:ASP 學(xué)分:3___。

public class Course {private String cNumber;private String cName;private int cUnit;public Course(String number, String name, int unit) {cNumber = number;cName = name;cUnit = unit;}public void printCourseInfo() {System.out.println("課程號(hào):" + cNumber + " 課程名:" + cName + " 學(xué)分:" + cUnit);} }class CourseTest {public static void main(String[] args) {Course c;c = new Course("101", "ASP", 3);c.printCourseInfo();} }

4、以下程序的輸出結(jié)果為__湯姆貓?bào)w重:20.0斤___。

public class Tom {private float weight;private static String name;public void setWeight(float weight) {this.weight = weight;}private void out() {System.out.println(name + "體重:" + weight + "斤");}public static void main(String[] args) {Tom.name = "湯姆貓";Tom cat = new Tom();cat.setWeight(20);cat.out();} }

5、以下程序的輸出結(jié)果_姓名:Tom 年齡:15 家庭住址:金水區(qū) 電話:66123456 學(xué)校:九中_。

public class Father {String name, address, tel;int age;public Father(String name, int age) {this.name = name;this.age = age;}void out() {System.out.print("姓名:" + name);System.out.print(" 年齡:" + age);}void outOther() {System.out.print(" 家庭住址:" + address);System.out.print(" 電話:" + tel);} }class Son extends Father {String school;public Son(String name, int age) {super(name, age);}void out() {super.out();super.outOther();System.out.println(" 學(xué)校:" + school);}public static void main(String args[]) {Son son = new Son("Tom", 15);son.address = "金水區(qū)";son.school = "九中";son.tel = "66123456";son.out();} }

6、下列程序的運(yùn)行結(jié)果是__12345____。

public class MyClass {int a[] = { 1, 2, 3, 4, 5 };void out() {for (int j = 0; j < a.length; j++)System.out.print(a[j] + "");}public static void main(String[] args) {MyClass my = new MyClass();my.out();} }

四、簡答題

1、簡述Java中異常處理的機(jī)制?

答:首先Java的異常是面向?qū)ο蟮摹R粋€(gè)Java的Exception是一個(gè)描述異常情況的對(duì)象.當(dāng)出現(xiàn)異常情況時(shí),一個(gè)Exception對(duì)象就產(chǎn)生了,并放到異常的成員函數(shù)里。 Java的異常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try,catch,throw,throwsfinally1.異常處理:在Java語言的錯(cuò)誤處理結(jié)構(gòu)由trycatchfinally三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的Java語言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來激發(fā)被捕獲的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行 finally塊。 2.拋出異常:Java語言可以不在方法中直接捕獲,而用throw語句將異常拋給上層的調(diào)用者。Throw語句就是來明確地拋出一個(gè)異常;首先你必需得到一個(gè)Throwable的實(shí)例句柄,通過參數(shù)傳到catch中,或者采用new操作符來創(chuàng)建一個(gè)。

2、什么是繼承?

答:通過必要的說明能夠?qū)崿F(xiàn)某個(gè)類無需重新定義就擁有另一個(gè)類的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并且允許多層的繼承關(guān)系。

3、請簡述重載和重寫的區(qū)別?

答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。 重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。 如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。 如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

4、Java 規(guī)定類中的成員變量和方法具有4種訪問控制符?哪四種?請列出。

答:Public、protectedprivatedefault

5、什么是實(shí)例變量和類變量及他們的區(qū)別?

答:用修飾符static說明的變量是類變量,其他是實(shí)例變量。不同對(duì)象的實(shí)例變量將分配不同的內(nèi)存空間。所有對(duì)象的類變量都分配給相同的一處內(nèi)存,改變其中一個(gè)對(duì)象的類變量的值,會(huì)影響其他對(duì)象的這個(gè)類變量的值。

6、用abstract修飾符修飾的類和方法有什么特點(diǎn)?

答:用abstract修飾的類不能創(chuàng)建對(duì)象,必須產(chǎn)生子類,有子類創(chuàng)建對(duì)象 用abstract修飾的方法只允許聲明,而不允許實(shí)現(xiàn)。 如果一個(gè)類是一個(gè)abstract類的子類,它必須實(shí)現(xiàn)父類的abstract方法。

五、程序設(shè)計(jì)題
1、按以下要求編寫程序
(1) 創(chuàng)建一個(gè)Rectangle類,添加width和height兩個(gè)成員變量
(2) 在Rectangle中添加兩種方法分別計(jì)算矩形的周長和面積
(3) 編程利用Rectangle輸出一個(gè)矩形的周長和面積
解答:

public class Rectangle {float width, height;public Rectangle(float width, float height) {this.width = width;this.height = height;}public float getLength(){return (this.width + this.height) * 2;}public float getArea(){return this.width * this.height;}public static void main(String [] args) {Rectangle rect = new Rectangle(10, 20);System.out.println("周長是:" + rect.getLength());System.out.println("面積是:" + rect.getArea());} }

2、按以下要求編寫程序
(1) 編寫Animal接口,接口中聲明run() 方法
(2) 定義Bird類和Fish類實(shí)現(xiàn)Animal接口
(3) 編寫B(tài)ird類和Fish類的測試程序,并調(diào)用其中的run()方法
解答:

public interface Animal {void run(); }class Bird implements Animal {public void run() {System.out.println("鳥兒在飛...");} }class Fish implements Animal {public void run() {System.out.println("魚兒在游...");} }public class TestAnimal {public static void main(String[] args) {Bird bird = new Bird();bird.run();Fish fish = new Fish();fish.run();} }

3、編寫一個(gè)Frame框架應(yīng)用程序,要求如下:
(1) 在窗口設(shè)置兩個(gè)菜單“文件”、“編輯”
(2) 在“文件”菜單里添加三個(gè)菜單項(xiàng)“打開”、“保存”、“關(guān)閉”
(3) 在“編輯”菜單里添加兩個(gè)菜單項(xiàng)“復(fù)制”、“粘貼”
(4) 點(diǎn)擊關(guān)閉菜單項(xiàng)時(shí),使程序關(guān)閉。
解答:

import java.awt.Color; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** 主窗體*/ public class MyFrame extends Frame {private static final long serialVersionUID = 6895463895656626294L;private Frame frmMain; // 窗體MenuBar mb; // 菜單欄Menu mnuFile; // "文件"菜單Menu mnuEdit; // "編輯"菜單MenuItem miOpen; // "打開"菜單項(xiàng)MenuItem miSave; // "保存"菜單項(xiàng)MenuItem miClose; // "關(guān)閉"菜單項(xiàng)MenuItem miCopy; // "復(fù)制"菜單項(xiàng)MenuItem miPaste; // "粘貼"菜單項(xiàng)public MyFrame() {frmMain = new Frame("主窗體");// 創(chuàng)建菜單欄mb = new MenuBar();// 創(chuàng)建菜單mnuFile = new Menu("文件");mnuEdit = new Menu("編輯");// 創(chuàng)建菜單項(xiàng)miOpen = new MenuItem("打開");miSave = new MenuItem("保存");miClose = new MenuItem("關(guān)閉");miCopy = new MenuItem("復(fù)制");miPaste = new MenuItem("粘貼");}public void showFrame() {frmMain.setSize(800, 600);frmMain.setLocation(100, 100);frmMain.setBackground(Color.white);frmMain.setVisible(true);frmMain.setLayout(null);frmMain.addWindowListener(new WindowHandler()); // 注冊窗口監(jiān)聽器// 將菜單欄放入窗體中frmMain.setMenuBar(mb);// 將菜單放入菜單欄中mb.add(mnuFile);mb.add(mnuEdit);// 將菜單項(xiàng)放入菜單中mnuFile.add(miOpen);mnuFile.add(miSave);mnuFile.add(miClose);mnuEdit.add(miCopy);mnuEdit.add(miPaste);// 注冊動(dòng)作事件監(jiān)聽器miClose.setActionCommand("miClose_Clicked");miClose.addActionListener(new MenuHandler());}// 定義一個(gè)內(nèi)部類,在這個(gè)類中編寫窗口關(guān)閉事件處理程序。private class WindowHandler extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0); // 退出應(yīng)用程序,狀態(tài)碼 0 表示正常終止,非 0 表示異常終止。}}// 定義一個(gè)內(nèi)部類,在這個(gè)類中編寫動(dòng)作事件處理程序。private class MenuHandler implements ActionListener {public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "miClose_Clicked") {System.exit(0); // 退出應(yīng)用程序}}} }public class TestMyFrame {public static void main(String[] args) {// 啟動(dòng)主窗體MyFrame guiWindow = new MyFrame();guiWindow.showFrame();} }

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案4(應(yīng)考必備題庫)

一、 單選題

1、下列程序段執(zhí)行后的結(jié)果是( A )。

String s = new String("abcdefg"); for (int i=0; i<s.length(); i+=2){System.out.print(s.charAt(i)); }

A) aceg B) ACEG C) abcdefg D) abcd
2、有整型數(shù)組:int[] x={12,35,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是( A ).
A) 2 7 8 12 35 B) 12 35 8 7 2
C) 35 12 8 7 2 D) 8 7 12 35 2

Arrays.sort(x)按升序排列

3、下面的程序段創(chuàng)建了BufferedReader類的對(duì)象in,以便讀取本機(jī)c盤my文件夾下的文件1.txt。File構(gòu)造函數(shù)中正確的路徑和文件名的表示是( C )。
File f = new File(填代碼處);
file =new FileReader(f);
in=new BufferedReader(file);
A) “./1.txt” B) “…/my/1.txt” C) "c:\\my\\1.txt" D) “c:\ my\1.txt”
4、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( A )。

String s1=new String("abc");String s2=new String("abc"); boolean b1=s1.equals(s2);boolean b2=(s1==s2); System.out.print(b1+" "+b2);

A)true false B) false true C) true true D)false false
5、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 (B )。

Hashtable hashtable=new Hashtable();hashtable.put("x","12345");hashtable.put("y","67890");hashtable.put("a","abcde"); System.out.println(hashtable.get("a"));

A) a B) abcde C) 12345 D) 67890
6、下面語句的功能是( A)。

RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" );

A)打開當(dāng)前目錄下的文件1.txt,既可以向文件寫數(shù)據(jù),也可以從文件讀數(shù)據(jù)。
B)打開當(dāng)前目錄下的文件1.txt,但只能向文件寫入數(shù)據(jù),不能從文件讀取數(shù)據(jù)。
C)打開當(dāng)前目錄下的文件1.txt,但不能向文件寫入數(shù)據(jù),只能從文件讀取數(shù)據(jù)。
D) 以上說法都不對(duì)。
7、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 B( )。

String s="12345#aaa#bbb#67890";int n=s.indexOf("#");int k=s.indexOf("#",n+1);int m=s.indexOf("#",k+1);String s2=s.substring(m+1);System.out.println(s2);

A) 123456 B) 67890 C) aaa D) bbb
8、下面程序段執(zhí)行后b的值是(B )。

Integer integ =new Integer(9)boolean b = integ instanceof Object;

A) 9 B) true C) 1 D) false
9、應(yīng)用程序Test.java的源程序如下,在命令行鍵入:
java Test aaa bb c
回車后輸出的結(jié)果是 ( A )。

public class Test {public static void main(String args[]) {int k1=args.length;int k2=args[1].length(); System.out.print(k1+" "+k2); } } //args.length表示傳入?yún)?shù)的個(gè)數(shù)

A) 3 2 B)1 2 C) 1 3 D) 3 3
10、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( A )。

int b[][]={{1}, {2,2}, {2,2,2}};int sum=0;for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) {sum*=b[i][j];} }System.out.println("sum="+sum);

A) 32 B)11 C) 2 D) 3
11、應(yīng)用程序的main方法中有以下語句,則執(zhí)行后輸出的結(jié)果是 ( D )。
int[] x={125,21,5,168,98};
int max=x[0];
for(int i=1;i<x.length;i++){
if(x[i]> max)
max =x[i];
}
System.out.println(max);
A) 125 B) 5 C) 98 D) 168
12、程序Test.java編譯運(yùn)行后輸出的結(jié)果是( A )。
public class Test {
String s1=“java”;
public static void main(String args[]) {
int z=2;
Test t=new Test();
System.out.println(t.s1+z);
}
}
A) java2 B)2 C)沒有輸出結(jié)果 D)java
13、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( A )。
String s1=“0.5”, s2=“12”;
double x=Double.parseDouble(s1);
int y=Integer.parseInt(s2);
System.out.println(x+y);
A) 12.5 B) 120.5 C) 12 D) “12.5”
14、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來向文件test.txt中輸出數(shù)據(jù),假設(shè)程序當(dāng)前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運(yùn)行3次,則文件test.txt 的內(nèi)容是( D )。
import java.io.*;
public class Test {
public static void main(String args[]) {
try {
String s=“ABCDE”;
byte b[]=s.getBytes();
FileOutputStream file=new FileOutputStream(“test.txt”,true);
file.write(b);
file.close();
}
catch(IOException e) {
System.out.println(e.toString());
}
}
}
A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE
15、在Java語言中,表達(dá)式10/3的結(jié)果是(C )。
A.3.3 B.3.33 C.3 D.3.0
16、已知數(shù)組arrey,其最后一個(gè)元素的下標(biāo)是(D )。
A.arrey.size B.arrey.length C. arrey.size-1 D. arrey.length-1
17、初始狀態(tài)下,ResultSet的指針初始位置在( )
A.第一行之前 B.第一行 C.最后一行 D.最后一行之后
18、下列有關(guān)Swing的敘述,哪項(xiàng)錯(cuò)誤? ( D )
A.Swing是Java基礎(chǔ)類(JFC)的組成部分
B.Swing是可用來構(gòu)建GUI的程序包
C.Java基礎(chǔ)類(JFC)是Swing的組成部分
D.Swing是AWT圖形工具包的替代技術(shù)
Swing 是一個(gè)為Java設(shè)計(jì)的GUI工具包。
Swing是JAVA基礎(chǔ)類的一部分。
Swing包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。

二、程序閱讀題

1、閱讀下面的程序,回答問題(?問3分,?問3分,共6分)。
import java.awt.;
import javax.swing.;
public class T extends JFrame {
public T ( ) {
super(“GridLayout”);
Container con=this.getContentPane();
con.setLayout(new GridLayout(2,3));
con.add(new JButton(“a”));
con.add(new JButton(“b”));
con.add(new JButton(“c”));
con.add(new JButton(“d”));
con.add(new JButton(“e”));
con.add(new JButton(“f”));
setSize(200, 80);
setVisible(true);
}
public static void main(String args[]) {
new T();
}
}
?畫圖表示程序運(yùn)行后的圖形界面。
?如果程序通過實(shí)現(xiàn)某個(gè)接口處理按鈕的動(dòng)作事件,則該接口名為何?接口中的方法頭聲明如何?
答案:
?
?接口名:ActionListener
接口中的方法:public void actionPerformed(ActionEvent e)
2、閱讀下面的程序代碼,并回答問題(①問3分,②問3分,共6分)。
String s1 = new String(“abcde”);
String s2 = new String(“abcde”);
boolean b1= s1.equals(s2);
boolean b2 = s1== s2;
System.out.print(b1+" "+b2);
編譯運(yùn)行上面的程序:①程序段執(zhí)行后,在命令行的輸出結(jié)果如何?②equals方法的功能是什么?運(yùn)算符“ == ”\ 的功能是什么?
答:
①true false
②equals方法比較兩個(gè)字符串的內(nèi)容是否相等;運(yùn)算符“==”判斷兩個(gè)對(duì)象是否指向同一個(gè)引用,即是否為同一個(gè)對(duì)象。

《JAVA程序設(shè)計(jì)》期末考試試題 (五)

一、 單選題

1、當(dāng)某一線程正處于休眠狀態(tài),而另一個(gè)線程用 Thread 類中的 interrupt() 方法中斷它時(shí),拋出的異常類型是( C )。
A) IOException B) RuntimeException
C) InterruptedException D) ClassNotFoundException
2、下面的程序段的功能是( D)。
File file1=new File(“d:\xxx\yyy\zzz”);
file1.mkdirs();
A)在當(dāng)前目錄下生成子目錄:\xxx\yyy\zzz B)生成目錄: e:\xxx\yyy\zzz
C)在當(dāng)前目錄下生成文件xxx.yyy.zzz D)以上說法都不對(duì)
3、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( B )。
String s = “xxxxxxxxxxxxxxx#123#456#zzzzz”;
int n = s.indexOf("#");
int k = s.indexOf("#", n+1);
String s2 = s.substring(n+1, k);
System.out.println(s2);
A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz
4、關(guān)于下面的程序Test.java說法正確的是( D )。
public class Test {
String x=“1”;
int y;
public static void main(String args[]) {
int z=2;
System.out.println(x+y+z);
}
}
A)3 B)102 C) 12 D)程序有編譯錯(cuò)誤

5、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( A )。
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i<b.length; i++) {
for(int j=0; j<b[i].length; j++) {
sum+=b[i][j];
}
}
System.out.println(“sum=”+sum);
A) 10 B)6 C) 9 D) 13
6、應(yīng)用程序的main方法中有以下語句,則執(zhí)行后輸出的結(jié)果是 ( B)。
int[] x = {125,21,5,168,98};
int min = x[0];
for (int i=1; i<x.length; i++){
if(x[i] < min)
min = x[i];
}
System.out.println(min);
A) 125 B) 5 C) 98 D) 168

7、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( D )。
Hashtable hashtable=new Hashtable();
hashtable.put(“100”,“aaa”);
hashtable.put(“200”,“bbb”);
hashtable.put(“300”,“ccc”);
System.out.println(hashtable.get(“300”).toString()
+ hashtable.get(“200”).toString()
+ hashtable.get(“100”).toString());
A) aaa B) bbb C) ccc D) cccbbbaaa
8、以下關(guān)于java異常說法不正確的是(D )。
A) Throwable 類是 Java 語言中Error類和Exception類的父類。
B)當(dāng)異常對(duì)象是Exception類(或其子類)的實(shí)例時(shí),能通過 Java 虛擬機(jī)或者 throw 語句拋出該異常對(duì)象,并能通過try…catch…finally處理。
C)如果只用一個(gè)catch塊捕捉多個(gè)異常對(duì)象,則catch 子句中的參數(shù)類型應(yīng)是所有異常對(duì)象的父類。
D)以上說法都不對(duì)。
9、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來向文件test.txt中輸出數(shù)據(jù),假設(shè)程序當(dāng)前目錄下存在文件test.txt,編譯下面的程序Test.java后,將該程序運(yùn)行3次,則文件test.txt 的內(nèi)容是( D)。
import java.io.*;
public class Test {
public static void main(String args[]) {
try {
String s=“ABCDE”;
byte b[]=s.getBytes();
FileOutputStream file=new FileOutputStream(“test.txt”, true);
file.write(b);
file.close();
}
catch(IOException e) {
System.out.println(e.toString());
}
}
}
A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE
10、下面說法不正確的是( D )?
A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。
B)List接口是可以包含重復(fù)元素的有序集合。
C)Set接口是不包含重復(fù)元素的集合。
D)Map接口將鍵映射到值,鍵可以重復(fù),但每個(gè)鍵最多只能映射一個(gè)值。
11、給定java 代碼如下,編譯運(yùn)行后,輸出結(jié)果是( C)。 public class test {
static int i=0;
public int aMethod() {
i++;
return i; }
public static void main (String args[]) {
Test test=new Test() ;
test.aMethod () ;
System.out.println (test.aMethod()) ;
} }
A、0 B、1 C、2 D、3
12、有整型數(shù)組:int[] x={12,35,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是( A )。
A) 2 7 8 12 35 B) 12 35 8 7 2
C) 35 12 8 7 2 D) 8 7 12 35 2
13、Frame對(duì)象默認(rèn)的布局管理器是(B )。
A、FlowLayout B、BorderLayout
C、CardLayout D、null

二、程序閱讀題

1、閱讀下面的程序代碼,并回答問題(1問3分,2問3分,共6分)。
String s1 = new String(“abcde”);
String s2 = new String(“abcde”);
boolean b1= s1.equals(s2);
boolean b2 = s1== s2;
System.out.print(b1+" "+b2);
?程序段執(zhí)行后,在命令行的輸出結(jié)果如何?
?解釋輸出(1)的結(jié)果的原因?
答案:
1 true false
2 equals方法比較兩個(gè)字符串的內(nèi)容是否相等;運(yùn)算符“= =”判斷兩個(gè)對(duì)象是否指向同一個(gè)引用,即是否為同一個(gè)對(duì)象。
2、閱讀下面的程序,并回答問題(?問3分,?問3分,共6分)。

import java.io.*; public class Test {public static void main(String args[]) throws IOException {BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); while(true) {String str = buf.readLine();if(str.equals("quit"))break;int x=Integer.parseInt(str);System.out.println(x*x);}} }

編譯運(yùn)行上面的程序:
?從鍵盤輸入10,回車后輸出的結(jié)果如何?
?從鍵盤輸入exit,回車后程序能正確執(zhí)行嗎?為什么?
答案:
?100
?不能;因?yàn)榉椒↖nteger.parseInt(str)不能將字符串“exit”轉(zhuǎn)化為整數(shù),拋出異常。
3、寫出下面的程序編譯、運(yùn)行后的結(jié)果(6分)。

public class Test{public static void main(String args[]) {new Student("Tom", 'm', 90, 88);new Student("Jack", 'm', 66, 89);new Student("Mary", 'f', 76, 86);System.out.println("name\tsex\tchinese\tenglish");Student.print();}}class Student {protected String name;protected char sex;protected int chinese;protected int english;protected Student next;static Student list; Student (String name, char sex, int chinese, int english) {this.name=name;this.sex=sex;this.chinese=chinese;this.english=english;this.next=list;list=this;}static void print() {Student friend=list;if (friend==null)System.out.println("The list is empty.");else {do{System.out.println(friend.toString());friend=friend.next;}while(friend!=null);}}public String toString() {return new String(name+"\t"+sex+"\t"+chinese+"\t"+english);}}

答案:
name sex chinese english
Mary f 76 86
Jack m 66 89
Tom m 90 88

《JAVA程序設(shè)計(jì)》期末考試試題 (六)

一、填空題

1.定義類的保留字是( class ),定義接口的保留字是( interface )。
2.Socket通常也稱為 ( 套接字 ),用于描述( IP地址 ) 和 ( 端口 )。
3.線程的優(yōu)先級(jí)在( 1 )至( 10 )之間,數(shù)值越大( 任務(wù)越緊急 )。
4.構(gòu)造方法是一種特殊的成員方法,構(gòu)造方法名與( 類名 ) 相同。
5.Java語言只允許單繼承,指每個(gè)類只能有一個(gè) ( 父類 )。
6.Java源程序的擴(kuò)展名是( .java ),經(jīng)過編譯后的程序的擴(kuò)展名是( .class )。
7. 在一個(gè)時(shí)間只能由一個(gè)線程訪問的資源稱為 ( 臨界資源 ) 。訪問臨界資源的代碼( 臨界代碼 )。
8. 在多線程系統(tǒng)中,多個(gè)線程之間有 ( 同步 ) 和 ( 互斥 ) 兩種關(guān)系。
9、使用運(yùn)算符( new ),創(chuàng)建類的對(duì)象,給對(duì)象分配內(nèi)存空間。
10、程序中實(shí)現(xiàn)多線程的方法有兩種:繼承Thread類和實(shí)現(xiàn)( Runnable )接口。
11、同一個(gè)類中多個(gè)方法具有相同的方法名,不同的參數(shù)列表稱為方法的( 重載 )。
12、Java語言中的浮點(diǎn)型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲(chǔ)長度和數(shù)值精度的不同,進(jìn)一步分為( float )和( double )兩種具體類型。
13、假設(shè)x=1,y=2,則表達(dá)式x+y>=x*y的值是( true ),其數(shù)據(jù)類型是(布爾)。
14、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,這樣無論是中文字符還是英文字符,都是占用( 2 )字節(jié)內(nèi)存空間。
15、用戶自定義異常是通過繼承_____ 異常 ____類或其子類。
16、為了支持Java程序的數(shù)據(jù)庫操作功能,Java語言采用了專門的Java數(shù)據(jù)庫編程接口API,叫做 JDBC 。
17、可以通過繼承 Thread 類和實(shí)現(xiàn) Runnable 接口來創(chuàng)建線程。

二、選擇題

1.關(guān)于選擇結(jié)構(gòu)下列哪個(gè)說法正確? ( B )
A.if語句和 else語句必須成對(duì)出現(xiàn)
B.if語句可以沒有else語句對(duì)應(yīng)
C.switch結(jié)構(gòu)中每個(gè)case語句中必須用break語句
D.switch結(jié)構(gòu)中必須有default語句
2.while循環(huán)和 do…while循環(huán)的區(qū)別是:  (D  )
A.沒有區(qū)別,這兩個(gè)結(jié)構(gòu)任何情況下效果一樣
B.while循環(huán)比 do…while循環(huán)執(zhí)行效率高
C.while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次
D.do…while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次
3.關(guān)于 for循環(huán)和 while循環(huán)的說法哪個(gè)正確? ( B )
A.while循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。
B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般是非程序結(jié)果
C.兩種循環(huán)任何時(shí)候都不可以替換
D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空
4.下列修飾符中與訪問控制無關(guān)的是 ( D )
A.private    B.public
C.protected D.final
5. void的含義:  ( A )
A.方法沒有返回值    B. 方法體為空
C.沒有意義     D. 定義方法時(shí)必須使用
6. return語句:  (C )
A.只能讓方法返回?cái)?shù)值     B.方法都必須含有
C.方法中可以有多句return    D.不能用來返回對(duì)象
7.關(guān)于對(duì)象成員占用內(nèi)存的說法哪個(gè)正確?  ( B )
A.同一個(gè)類的對(duì)象共用同一段內(nèi)存
B、同一個(gè)類的對(duì)象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間
C.對(duì)象的方法不占用內(nèi)存
D.以上都不對(duì)
8.下列說法哪個(gè)正確??
A.不需要定義類,就能創(chuàng)建對(duì)象
B.對(duì)象中必須有屬性和方法
C.屬性可以是簡單變量,也可以是一個(gè)對(duì)象
D、屬性必須是簡單變量
9.下列說法哪個(gè)正確?  ( A )
A、一個(gè)程序可以包含多個(gè)源文件
B、一個(gè)源文件中只能有一個(gè)類
C、一個(gè)源文件中可以有多個(gè)公共類
D、一個(gè)源文件只能供一個(gè)程序使用
10.關(guān)于方法main()的說法哪個(gè)正確?( C )
A.方法main()只能放在公共類中
B main()的頭定義可以根據(jù)情況任意更改
C.一個(gè)類中可以沒有main()方法
D.所有對(duì)象的創(chuàng)建都必須放在main()方法中
11.構(gòu)造函數(shù)何時(shí)被調(diào)用?  ( A )
A、創(chuàng)建對(duì)象時(shí)      B、類定義時(shí)
C、使用對(duì)象的方法時(shí)   D、使用對(duì)象的屬性時(shí)
12. 抽象方法:  (  C)
A、可以有方法體
B、可以出現(xiàn)在非抽象類中
C、是沒有方法體的方法
D、抽象類中的方法都是抽象方法 
13.關(guān)于繼承的說法正確的是:  (B  )
A、子類將繼承父類所有的屬性和方法。
B、子類將繼承父類的非私有屬性和方法。
C、子類只繼承父類public方法和屬性
D、子類只繼承父類的方法,而不繼承屬性
14.關(guān)于構(gòu)造函數(shù)的說法哪個(gè)正確?  ( C )
A、一個(gè)類只能有一個(gè)構(gòu)造函數(shù)
B、一個(gè)類可以有多個(gè)不同名的構(gòu)造函數(shù)
C、構(gòu)造函數(shù)與類同名
D、構(gòu)造函數(shù)必須自己定義,不能使用父類的構(gòu)造函數(shù)
17.覆蓋與重載的關(guān)系是  ( A )
A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個(gè)類中
B.覆蓋方法可以不同名,而重載方法必須同名
C.final修飾的方法可以被覆蓋,但不能被重載
D.覆蓋與重載是同一回事
18.關(guān)于接口哪個(gè)正確?  ( A )
A、實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口的所有方法
B.一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
C.接口間不能有繼承關(guān)系
D.接口和抽象類是同一回事
19.異常包含下列哪些內(nèi)容?  (  A)
A.程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況
B.程序中的語法錯(cuò)誤  
C.程序的編譯錯(cuò)誤
D.以上都是

20. 對(duì)于已經(jīng)被定義過可能拋出異常的語句,在編程時(shí):  ( A )
A、必須使用try/catch語句處理異常,或用throws將其拋出
B.如果程序錯(cuò)誤,必須使用 try/catch語句處理異常
C.可以置之不理
D.只能使用try/catch語句處理
21. 字符流與字節(jié)流的區(qū)別在于(D  )
A.前者帶有緩沖,后者沒有
B.前者是塊讀寫,后者是字節(jié)讀寫
C. 二者沒有區(qū)別,可以互換使用
D. 每次讀寫的字節(jié)數(shù)不同
22.下列流中哪個(gè)不屬于字節(jié)流  (  D)
A.FileInputStream
B.BufferedInputStream
C. FilterInputStream
D. InputStreamReader

三、程序填空題

1.public class Sum{public static void main(String [] args){int j=10;System.out.println("j is : "+j);calculate(j);System.out.println("At last, j is : "+j);} static void calculate (int j){for (int i = 0;i<10;i++)j++;System.out.println("j in calculate() is: "+j);} }

輸出結(jié)果為:
j is : (1)
j in calculate() is : (2)
At last j is : (3)
答案:(1) 10; (2) 20; (3) 10。
2. 按要求填空

abstract class SuperAbstract{void a(){}abstract void b();abstract int c(int i); } interface AsSuper {void x(); } abstract class SubAbstract extends SuperAbstract implements AsSuper { public void b(){}abstract String f(); } public class InheritAbstract extends SubAbstract{public void x(){}public int c(int i ) {}public String f(){}public static void main(String args[]){InheritAbstract instance=new InheritAbstract();instance.x();instance.a();instance.b();instance.c(100);System.out.println(instance.f());} }

在以上這段程序中:
抽象類有:SuperAbstract和 (1)  (寫出類名)
非抽象類有:       (2)  (寫出類名)
接口有:         (3)  (寫出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必須對(duì)它進(jìn)行(5)       
答案:
(1) SuperAbstract;(2) InheritAbstract;(3) AsSuper;(4) 抽象;(5) 覆蓋和實(shí)現(xiàn)。
3. 按注釋完成程序
public class Leaf {
private int i = 0; //此屬性值用于檢驗(yàn)
Leaf increment(){ //定義方法increment(),返回值是Leaf類的對(duì)象
i++;
return (1) ;//將當(dāng)前對(duì)象的地址作為返回值返回
}
void print() {
System.out.println(" i = " + i);
}
public static void main(String args[]){
Leaf x = (2); //創(chuàng)建Leaf類的對(duì)象x
x.increment().increment().increment().print();
}//多次調(diào)用方法increment(),返回的都是x的地址,i 值表示調(diào)用次數(shù)
}
輸出結(jié)果為 i = (3)
答案:
(1) this; (2)new Leaf();(3) 3
4. 按注釋提示完成文件復(fù)制的程序
//FileStream源代碼如下:
import java.io.*;
class FileStream {
public static void main(String args []) {
try {
File inFile = new File(“file1.txt”); //指定源文件
File outFile = new File(“file2.txt”); //指定目標(biāo)文件
FileInputStream fis =(1);
FileOutputStream fos = new FileOutputStream(outFile);
int c;
//逐字節(jié)從源文件中輸入,再輸出到fos流
while ((c = fis.read ())!=-1)
(2);
fis.close();
fos.close();
}
catch (Exception e) {
System.out.println("FileStreamsTest: "+e);
}
}
}
答案:
(1) new FileInputStream(inFile);
(2) fos.write?;
5. 閱讀程序,給出結(jié)果:

// AbstractClassDemo.java源代碼如下: abstract class Shape { //定義抽象類Shape和抽象方法displayabstract void display(); } class Circle extends Shape {void display() { //實(shí)現(xiàn)抽象類的方法System.out.println("Circle");} } class Rectangle extends Shape {void display() { //實(shí)現(xiàn)抽象類的方法 System.out.println("Rectangle");} } class Triangle extends Shape {void display() { //實(shí)現(xiàn)抽象類的方法System.out.println("Triangle");} } public class AbstractClassDemo{public static void main(String args[]){(new Circle()).display(); //定義無名對(duì)象來調(diào)用對(duì)應(yīng)的display方法(new Rectangle()).display();(new Triangle()).display();}

}
輸出結(jié)果是 ?
答案:(1) Circle; (2) Rectangle; (3) Triangle。

《JAVA程序設(shè)計(jì)》期末考試試題 (七)

一、選擇題

  • 請說出下列代碼的執(zhí)行結(jié)果 : (B)
    String s = “abcd”;
    String s1 = new String(s);
    if (s = = s1) System.out.println(“the same”);
    if (s.equals(s1)) System.out.println(“equals”);
    A. the same equals B. equals
    C. the same D. 什么結(jié)果都不輸出

  • 下列有關(guān) Java 中接口的說法哪個(gè)是正確的? (B)
    A. 接口中含有具體方法的實(shí)現(xiàn)代碼
    B. 若一個(gè)類要實(shí)現(xiàn)一個(gè)接口,則用到 “implements” 關(guān)鍵字
    C. 若一個(gè)類要實(shí)現(xiàn)一個(gè)接口,則用到“ extends ”關(guān)鍵字
    D. 接口不允許繼承

  • 下列代碼的執(zhí)行結(jié)果是什么? (B)
    String s1 = “aaa”;
    s1.concat(“bbb”);
    System.out.println(s1);
    A. The string “aaa”.
    B. The string “aaabbb”.
    C. The string “bbbaaa”.
    D. The string “bbb”.

  • 如果有一個(gè)對(duì)象 myListener ( 其中 myListener 對(duì)象實(shí)現(xiàn)了 ActionListener 接口 ), 下列哪條語句使得 myListener 對(duì)象能夠接受處理來自于 smallButton 按鈕對(duì)象的動(dòng)作事件 ? ?
    A. smallButton.add(myListener);
    B. smallButton.addListener(myListener);
    C. smallButton.addActionListener(myListener);
    D. smallButton.addItem(myListener);

  • 二.讀程序題

  • 讀下列代碼,說出這段程序的功能。
    import java.io.;
    public class Test{
    public static void main( String [] argv) {
    try {
    BufferedReader is =
    new BufferedReader( new InputStreamReader(System.in));
    String inputLine;
    While ((inputLine = is.readLine ())!= null) {
    System.out.println(inputLine);
    }
    is.close();
    }catch (IOException e) {
    System.out.println("IOException: " + e);
    }
    }
    }
    答案:讀取鍵盤輸入,顯示到屏幕上,直到鍵盤輸入為空為止。
    2、 讀下列程序,寫出正確的運(yùn)行結(jié)果。
    class test {
    public static void main (String [] args ){
    int x=9, y;
    if (x>=0)
    if (x>0)
    y=1;
    else y=0;
    else y=-1;
    System.out.println(y);
    }
    }
    答案:1
    3、以下程序的輸出結(jié)果為____ mainbord:華碩 cpu:Intel
    public class Computer
    {
    String mainbord,cpu;
    public Computer(String s1,String s2)
    {
    mainbord=s1;
    cpu=s2;
    }
    public static void main(String[]args)
    {
    Computer c=new Computer(“華碩”,“Intel”);
    System.out.println(“mainbord:”+c.mainbord+" cpu:"+c.cpu);
    }
    }
    4、下列程序的運(yùn)行結(jié)果是
    s = 180_____。
    import java.io. ;
    public class abc
    {
    public static void main(String args[ ])
    { int i, s = 0 ;
    int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
    for ( i = 0 ; i < a.length ; i ++ )
    if ( a[i]%3 = = 0 ) s += a[i] ;
    System.out.println(“s=”+s);
    }
    }
    5、 讀程序,寫出正確的運(yùn)行結(jié)果。
    public class Father{
    int a=100;
    public void miner(){
    a–;
    }
    public static void main(String[] args){
    Father x = new Father();
    Son y = new Son();
    System.out.println(y.a);
    System.out.println( y.getA());
    y.miner();
    System.out.println(y.a);
    System.out.println(y.getA());
    }
    }
    class Son extends Father{
    int a = 0;
    public void plus(){
    a++;
    }
    public int getA() {
    return super.a;
    }
    }
    答案:
    0 100 0 99
  • 三 . 簡答題

  • Java語言的特點(diǎn)。
    答:
    簡單性:Java風(fēng)格類似于C++,但它摒棄了C++中容易引起程序錯(cuò)誤的地方
    面向?qū)ο?#xff1a;Java語言的設(shè)計(jì)是完全面向?qū)ο?br /> 分布式:
    解釋執(zhí)行:
    健壯性:Java提供自動(dòng)垃圾回收機(jī)制,異常處理機(jī)制,進(jìn)行嚴(yán)格的類型檢查
    平臺(tái)無關(guān)性:
    安全性
    多線程
    動(dòng)態(tài)性

  • 請描述 AWT事件模型。
    答:
    結(jié)合AWT事件模型并舉例來說:
    import java.awt.event.*;

  • 監(jiān)聽對(duì)象必須實(shí)現(xiàn)對(duì)應(yīng)事件監(jiān)聽器的接口
    class MyFirstFrame extends Frame implements ActionListener
    {…}
    2.明確事件監(jiān)聽器的接口形式
    public void actionPerformed ( ActionEvent event) {…}

  • MyFirstFrame 類必須實(shí)現(xiàn)接口ActionListener中的所有方法。

  • 注冊監(jiān)聽對(duì)象.
    為了把MyFirstFrame對(duì)象注冊為兩個(gè)按鈕的事件監(jiān)聽對(duì)象,必須在MyFirstFrame
    的構(gòu)造函數(shù)中添加語句如下:
    cancelButton.addActionListener(this);
    okButton.addActionListener(this);

  • 在 Java中,怎樣創(chuàng)建一個(gè)線程?
    答:
    1、定義類來實(shí)現(xiàn)Runnable接口
    class TestThread implements Runnable {
    public void run() { …}
    }
    2、繼承Thread類來實(shí)現(xiàn)
    class TestThread extends Thread {
    TestThread(String name) {
    super(name);
    start();
    }
    public void run() {…}
    }

  • 總結(jié)

    以上是生活随笔為你收集整理的《JAVA语言程序设计》期末考试试题及答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。