西交《Java語(yǔ)言》在線作業(yè)
試卷總分:100 得分:100
一、單選題 (共 30 道試題,共 60 分)
1.下列程序段執(zhí)行后的結(jié)果是( )。 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.下面哪個(gè)函數(shù)是public void aMethod(){...}的重載函數(shù)?( )
A.void aMethod( ){...}
B.public int aMethod(){...}
C.public void aMethod ( ){...}
D.public int aMethod ( int m){...}
3.class Person{ String name,department; int age; public Person(String n){name=n;} public Person(String n, int a){name=n;age=a;} public Person(String n,String d,int a){ //doing the same as two arguments version of constructer //including assignment name=n,age=a } } 下列哪一個(gè)選項(xiàng)可以添加到“//doing the same....”處?
A.Person(n,a)
B.this(Person(n,a))
C.this(n,a)
D.this(name,age
4.下面的表達(dá)式哪個(gè)是正確的( )
A.String s="你好";int i=3; s+=i;
B.String s="你好";int i=3; if(i==s){ s+=i};
C.String s="你好";int i=3; s=i+s;
D.String s="你好";int i=3; s=i+;
5.在創(chuàng)建對(duì)象時(shí)必須()
A.先聲明對(duì)象,然后才能使用對(duì)象
B.先聲明對(duì)象,為對(duì)象分配內(nèi)存空間,然后才能使用對(duì)象
C.先聲明對(duì)象,為對(duì)象分配內(nèi)存空間,對(duì)對(duì)象初始化,然后才能使用對(duì)象
D.其它說法都對(duì)
6.Java語(yǔ)言提供了一個(gè)()線程,自動(dòng)回收動(dòng)態(tài)分配的內(nèi)存
A.異步
B.消費(fèi)者
C.守護(hù)
D.垃圾收集
7.有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。( ) 1. 2.public class Interesting{ 3.//do sth 4. }
A.import java.awt.*;
B.package mypackage;
C.class OtherClass{ }
D.public class MyClass{ }
8.執(zhí)行語(yǔ)句int i=1,j=++i;后i與j的值分別為()。
A.1與1
B.2與1
C.1與2
D.2與2
9.Java類可以作為()
A.類型定義機(jī)制
B.數(shù)據(jù)封裝機(jī)制
C.類型定義機(jī)制和數(shù)據(jù)封裝機(jī)制
D.其它都不對(duì)
10.運(yùn)行下列程序,會(huì)產(chǎn)生什么結(jié)果: class Outer1{ private int a; void foo(double d,final float f){ String s; final boolean b; class Inner{ void methodInner(){ System.out.println("in the Inner"); } } } public static void main(String args[]) { Outer1 me=new Outer1(); me.foo(123,123); System.out.println("outer"); } }
A.in the Inner outer
B.outer
C.in the Inner
D.編譯不通過
11.以下關(guān)于繼承的敘述正確的是()。
A.在Java中類只允許單一繼承
B.在Java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
C.在Java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口
D.在Java中接口只允許單一繼承
12.System.out.println("5"+2);的輸出結(jié)果應(yīng)該是()。
A.52
B.7
C.2
D.5
13.下面是有關(guān)子類調(diào)用父類構(gòu)造函數(shù)的描述正確的是(? )
A.子類定義了自己的構(gòu)造函數(shù),就不會(huì)調(diào)用父類的構(gòu)造函數(shù)
B.子類必須通過super關(guān)鍵字調(diào)用父類沒有參數(shù)的構(gòu)造函數(shù)
C.如果子類的構(gòu)造函數(shù)沒有通過super調(diào)用父類構(gòu)造函數(shù),那么子類會(huì)先調(diào)用父類不含參數(shù)的構(gòu)造函數(shù),再調(diào)用子類自己的構(gòu)造函數(shù)
D.創(chuàng)建子類對(duì)象時(shí),先調(diào)用子類自己的構(gòu)造函數(shù),然后調(diào)用父類的構(gòu)造函數(shù)
14.Java編程所必須的默認(rèn)引用包為()
A.java.sys包
B.java.lang包
C.java.util包
D.其他都不是
15.下面哪個(gè)為構(gòu)造函數(shù)的特性定義( )。
A.在類中聲明構(gòu)造函數(shù)時(shí),名稱須與類名相同
B.具有重載特性,可以建立多個(gè)相同名稱
C.使用類建立新對(duì)象時(shí),會(huì)自動(dòng)執(zhí)行構(gòu)造函數(shù),因此在構(gòu)造函數(shù)內(nèi)設(shè)定變量的初始值進(jìn)行內(nèi)存的分配
D.其他都是
16.Java 類可以作為()
A.類型定義機(jī)制
B.數(shù)據(jù)封裝機(jī)制
C.類型定義機(jī)制和數(shù)據(jù)封裝機(jī)制
D.其他都不對(duì)
17.當(dāng)Frame改變大小時(shí),放在其中的按鈕大小不變,則使用如下哪個(gè)layout( )。
A.FlowLayout
B.CardLayout
C.North and South of BorderLayout
D.East and West of BorderLayout
18.閱讀下列代碼 public class Test2005{ public static void main(String args[]){ String s=″Test″; Switch(s){ case″Java″:System.out.print(″Java″); break; case″Language″:System.out.print(″Language″); break; case″Test″:System.out.print(″Test″); break; } } } 其運(yùn)行結(jié)果是_________。
A.Java
B.Language
C.Test
D.編譯出錯(cuò)
19.下面哪種注釋方法能夠支持javadoc命令: ( )
A./**...**/
B./*...*/
C.//
D./**...*/
20.關(guān)于被私有訪問控制符private修飾的成員變量,以下說法正確的是( )。
A.可以被三種類所引用:該類自身、與它在同一個(gè)包中的其他類、在其他包中的該類的子類
B.可以被兩種類訪問和引用:該類本身、該類的所有子類
C.只能被該類自身所訪問和修改
D.只能被同一個(gè)包中的類訪問
21.在Java中用什么關(guān)鍵字修飾的方法可以直接通過類名來調(diào)用?()
A.static
B.final
C.private
D.void
22.System類在哪個(gè)包中? ( )
A.java.util
B.java.io
C.java.awt
D.java.lang
23.下面關(guān)于Applet的說法正確的是
A.Applet也需要main方法
B.Applet必須繼承自java.awt.Applet
C.Applet能訪問本地文件
D.Applet程序不需要編譯
24.下面哪種注釋方法能夠支持javadoc命令:
A./**...**/
B./*...*/
C.//
D./**...*/
25.類Test1、Test2定義如下: 1. public class Test1 2.{ public float aMethod(float a,float b) throws 3. IOException { } 4. } 5. public class Test2 extends Test1{ 6. 7.} 將以下哪種方法插入行6是不合法的。( )
A.float aMethod(float a,float b){ }
B.public int aMethod(int a,int b)throws Exception{ }
C.public float aMethod(float p,float q){ }
D.public int aMethod(int a,int b)throws IOException{ }
26.下列關(guān)于修飾符混用的說法,錯(cuò)誤的是( )
A.abstract不能與final并列修飾同一個(gè)類
B.abstract類中不可以有private的成員
C.static方法中能處理非static的屬性
D.abstract方法必須在abstract類中
27.看下面一段程序: class Aclass{ void go(){ System.out.println("Aclass"); } } public class Bclass extends Aclass{ void go{ System.out.println("Bclass"); } public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); } 以上程序運(yùn)行結(jié)果是:( )
A.Aclass Aclass
B.Bclass Bclass
C.Aclass Bclass
D.Bclass Aclass
28.給出下面代碼,關(guān)于該程序以下哪個(gè)說法是正確的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } }
A.編譯時(shí)將產(chǎn)生錯(cuò)誤
B.編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤
C.輸出零
D.輸出空
29.下列語(yǔ)句序列執(zhí)行后,i 的值是( )。 int i=8, j=16; if( i-1 > j ) i--; else j--;
A.15
B.16
C.7
D.8
30.容器被重新設(shè)置大小后,哪種布局管理器的容器中的組件大小不隨容器大小的變化而改變?( )
A.CardLayout
B.FlowLayout
C.BorderLayout
D.GridLayout
二、多選題 (共 10 道試題,共 20 分)
31.下面的Java語(yǔ)句錯(cuò)誤的是( )。
A.Double a=1.0;
B.double a=1.0;
C.out.println("hello");
D.DatagramSocket a = new DatagramSocket()
32.下面哪個(gè)方法可以在任何時(shí)候被任何線程調(diào)用? ( )
A.notify()
B.wait()
C.notifyAll()
D.sleep()
E.yield()
F.synchronized(this)
33.下面的表達(dá)式哪個(gè)是正確的? ( )
A.String s="你好";int i=3; s+=i;
B.String s="你好";int i=3; if(i==s){ s+=i};
C.String s="你好";int i=3; s=i+s;
D.String s="你好";int i=3; s=i+;
E.String s=null; int i=(s!=null)&&(s.length>0)?s.length():0;
34.下列方法屬于java.lang.Math類的有(方法名相同即可):
A.random()
B.abs()
C.sqrt()
D.sin()
35.定義一個(gè)類名為"MyClass.java"的類,并且該類可被一個(gè)工程中的所有類訪問,那么該類的正確聲明應(yīng)為: ( )
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.public class MyClass extends Object
36.下列說法正確的是()
A.java語(yǔ)言里的線程是沒有優(yōu)先級(jí)的
B.String類在java.lang包中
C.java語(yǔ)言支持類的序列化
D.能序列化的類必須實(shí)現(xiàn)java.io.Serializable接口
37.下列正確的有()
A.call by value不會(huì)改變實(shí)際參數(shù)的數(shù)值
B.call by reference能改變實(shí)際參數(shù)的參考地址
C.call by reference不能改變實(shí)際參數(shù)的參考地址
D.call by reference能改變實(shí)際參數(shù)的內(nèi)容
38.Java程序的種類有()
A.類(Class)
B.Applet
C.Application
D.Servlet
39.下面關(guān)于Java代碼安全的說法哪些是正確的?
A.程序執(zhí)行過程中需要的所有類都是通過字節(jié)碼校驗(yàn)程序裝入的。
B.代碼的運(yùn)行是由Java運(yùn)行環(huán)境中的解釋器完成的。
C.在運(yùn)行時(shí),字節(jié)碼要經(jīng)過裝入,校驗(yàn)之后,才能在解釋器中執(zhí)行。
D.在缺省的安全配置條件下,Java Applet不能訪問任何本地資源。
40.執(zhí)行下列代碼后,哪個(gè)結(jié)論是正確的String [] s=new String[10];()
A.s[10]為"";
B.s[9]為null;
C.s[0]為未定義
D.s.length為10
三、判斷題 (共 10 道試題,共 20 分)
41.方法System.out.println只在命令窗口中顯示(或打?。┮恍形淖帧#ǎ?/p>
42.通過點(diǎn)運(yùn)算符與類對(duì)象的引用相連,可以訪問此類的成員。( )
43.UDP是面向連接的協(xié)議。( )
44.interface中定義的變量全部是final static變量
45.程序員必須創(chuàng)建System.in,System.out和System.err對(duì)象。()
46.類和方法一般可以實(shí)現(xiàn)滿足所有用戶需要的錯(cuò)誤處理。( )
47.Java異常處理適用于方法檢查到一個(gè)錯(cuò)誤卻不能解決它的場(chǎng)合,這時(shí)該方法會(huì)拋出一個(gè)異常,但不能保證會(huì)有一個(gè)異常處理程序恰好適合于處理此類異常。( )
48.在隨機(jī)存取中查找指定記錄時(shí)不必檢查每一條記錄。( )
49.StringTokenizer類的hasMoreTokens方法確定在字符串中是否還有語(yǔ)言符號(hào)返回。()
50.注釋的作用是使程序在執(zhí)行時(shí)在屏幕上顯示//之后的內(nèi)容。( )