22春學(xué)期(高起本1709-1803、全層次1809-2103)《Java語言程序設(shè)計》在線作業(yè)-00001
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 50 分)
1.下面程序段: boolean a=false; boolean b=true; boolean c=(a&&b)&&(!b) boolean result=(a&b)&(!b); 執(zhí)行完后,正確的結(jié)果是
A.c=false;result=false
B.c=true;result=true
C.c=true;result=false
D.c=false;result=true
2.Java中,如果類C是類B的子類,類B是類A的子類,那么下面描述正確的是( )。
A.C不僅繼承了B中的成員,同樣也繼承了A中的成員
B.C只繼承了B中的成員
C.C只繼承了A中的成員
D.C不能繼承A或B中的成
3.設(shè)有下面的兩個類定義: class aa{ void Show(){System.out.println("我喜歡Java!"); } class BB extends aa{ void Show(){System.out.println("我喜歡C++!"); } } 則順序執(zhí)行如下語句后輸出結(jié)果為: aa a=new aa(); BB b=new BB(); a.Show(); b.Show();
A.我喜歡Java! 我喜歡C++!
B.我喜歡C++! 我喜歡Java!
C.我喜歡Java! 我喜歡Java!
D.我喜歡C++! 我喜歡C++!
4.Java語言的類型是
A.面向?qū)ο笳Z言
B.面向過程語言
C.匯編程序
D.形式語言
5.Java語言的類型是
A.面向?qū)ο笳Z言
B.面向過程語言
C.匯編程序
D.形式語言
6.在 Java 中,表示換行符的轉(zhuǎn)義字符是()。
A.\n
B.\f
C.'n'
D.\dd
7.以下程序段的輸出結(jié)果為 class Cruncher{ void crunch(int i){ System.out.println("int version"); } void crunch(String s){ System.out.println("String version"); } public static void main(String args[]){ Cruncher crun=new Cruncher(); char ch='p'; crun.crunch(c
A.int version
B.String version
C.編譯出錯
D.編譯通過,但產(chǎn)生異常
8.下列關(guān)于循環(huán)語句的描述中,錯誤的是( )。
A.任何一種循環(huán)體內(nèi)都可以含一種循環(huán)語句
B.循環(huán)體可以使空語句也可以是空
C.循環(huán)體內(nèi)可以出現(xiàn)多個break語句
D.循環(huán)語句,循環(huán)體至少被執(zhí)行一次
9.while循環(huán)和 do…while循環(huán)的區(qū)別是( )。
A.沒有區(qū)別,這兩個結(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í)行一次
10.以下程序的功能是:求n!。請在下列程序中填入正確的語句 class FactorialTest{ static long Factorial(int n){ if(n==1) return 1; else _______________} public static void main(String a[]){ int n=8; System.out.println(n+"!="+Factorial(n));} }
A.return n*Factorial(n);
B.return (n-1)*Factorial(n);
C.return n*Factorial(n-1);
D.return (n-1)*Factorial(n-1);
11.StringBuffer reverse();表示( )。
A.字符串反轉(zhuǎn)
B.字符串清空
C.字符串的賦值
D.字符串刪除
12.在Java中,負(fù)責(zé)對字節(jié)代碼解釋執(zhí)行的是()。
A.垃圾回收器
B.虛擬機(jī)
C.編譯器
D.多線程機(jī)制
13.下列程序的輸出結(jié)果為 int j=2; switch(j){ case 2: System.out.println("Value is two."); case 2+1: System.out.println("Value is three."); break; default: System.out.println("Value is "+j); break;}
A.Value is two.
B.Value is two. Value is three.
C.Value is two. Value is three. Value is 2
D.編譯錯誤
14.關(guān)于被私有訪問控制符private修飾的成員變量,以下說法正確的是( )。
A.可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類
B.可以被兩種類訪問和引用:該類本身、該類的所有子類
C.只能被該類自身所訪問和修改
D.只能被同一個包中的類訪問
15.下列語句中,屬于多分支語句的是( )。
A.if語句
B.switch語句
C.do while語句
D.for語句
16.StringBuffer s=new StringBuffer("Hello");int len1,len2;len1=s.capacity();len2=s.length();則len1-len2=( )。
A.0
B.16
C.5
D.不確定
17.在Java語言中,可以用來完成方法調(diào)用的方式是( )。
A.方法作為表達(dá)式中的一項出現(xiàn)在表達(dá)式中。
B.方法作為單獨的一條語句。
C.方法作為另一個方法調(diào)用的實際參數(shù)出現(xiàn)。
D.以上方法均可以。
18.在java語句中,運算符||實現(xiàn)()
A.邏輯或
B.邏輯與
C.邏輯非
D.邏輯相等
19.在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數(shù)個數(shù)、類型或順序各不相同,傳回的值也可以不相同。這種面向?qū)ο蟪绦虻奶匦苑Q為( )。
A.隱藏
B.覆蓋
C.重載
D.Java不支持此特性
20.有以下方法的定義,請選擇該方法的返回類型( )。 ReturnType method(byte x, double y) { return (short)x/y*2; }
A.byte
B.short
C.int
D.double
21.如果需要把s="It,is,me"按照","分解,并賦給新的變量s1,下列語句正確的是( )。
A.String s1=new StringTokenizer(s);
B.String s1=new StringTokenizer(s,",");
C.StringTokenizer s1=new StringTokenizer("It,is,me");
D.StringTokenizer s1=new StringTokenizer(s,",");
22.關(guān)于字符流,下列哪一項是不正確的( )。
A.為方便16位Unicode字符處理而引入的
B.可處理任意編碼的非ASCII字符
C.以兩個字節(jié)為基本輸入輸出單位
D.有兩個基本類:Reader和Writer
23.如下哪個不是 Java 中有效的關(guān)鍵字?( )
A.const
B.NULL
C.false
D.this
24.Java編程所必須的默認(rèn)引用包為( )。
A.java.sys包
B.java.lang包
C.java.new包
D.以上都不是
25.給出下面代碼,關(guān)于該程序以下哪個說法是正確的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]); } }
A.編譯時將產(chǎn)生錯誤
B.編譯時正確,運行時將產(chǎn)生錯誤
C.輸出零
D.輸出空
二、多選題 (共 10 道試題,共 20 分)
26.下列語句不正確的是( )。
A.形式參數(shù)可被視為局部變量
B.形式參數(shù)可被全局變量
C.形式參數(shù)為方法被調(diào)用時,是真正被傳遞的參數(shù)
D.形式參數(shù)不可以是對象
27.關(guān)于流(Stream)相關(guān)的類,下列哪些是正確的( )。
A.InputStream和OutputStream類是用來處理字節(jié)(8位)流的
B.Reader和Writer類用來處理字符(16位)流
C.各個類之間相互獨立,沒有關(guān)聯(lián)
D.File類則用來處理文件
28.下列哪一個屬于JAVA語言的數(shù)據(jù)類型( )。
A.指針類型
B.類
C.數(shù)組
D.浮點類型
29.關(guān)于Java的雙字節(jié)流,下列哪些是正確的( )。
A.除了一般ASCII字符,很多其他語言比如漢字,一個字都需要至少2個字節(jié)存儲
B.任何雙字節(jié)字符不能轉(zhuǎn)化為單字節(jié)字符,因為會丟失信息
C.主要是為了將一般字符與其他字符(如漢字字符)統(tǒng)一起來,方便處理
D.若程序使用char存儲,任何單字節(jié)字符都轉(zhuǎn)化成雙字節(jié)存儲
30.下列哪些是重載方法的特征( )。
A.參數(shù)個數(shù)不同
B.名相同而類型不同
C.參數(shù)類型不同
D.名相同且類型相同
31.以下不正確的描述是( )。
A.方法的定義不可以嵌套,但方法的調(diào)用可以嵌套。
B.方法的定義可以嵌套,但方法的調(diào)用不可以嵌套。
C.方法的定義和方法的調(diào)用均不可以嵌套。
D.方法的定義和方法的調(diào)用均可以嵌套。
32.關(guān)于字符串比較,下列敘述哪個是不正確的( )。
A.比較字符串是否完全相同不能用==
B.equals()和equalsIgnoreCase()的作用完全一致
C.equalsIgnoreCase()表示如果兩個字符串完全相同則返回true,否則返回false
D.String date1,date2;則比較二者是否相同的語句是data1=equals(data2);
33.下列變量定義合法的是 ( )。
A.boolean flag=false;
B.int k=1+'k';
C.char ch="c";
D.float r=1/2;
34.關(guān)于Java的標(biāo)準(zhǔn)輸入輸出流,下列哪些是正確的( )。
A.System.out和System.in分別用來處理標(biāo)準(zhǔn)輸出和輸入
B.標(biāo)準(zhǔn)輸入和輸出均只針對計算機(jī)鍵盤和屏幕
C.Java對輸入和輸出編程均要求強(qiáng)制異常保護(hù)
D.只有一個標(biāo)準(zhǔn)輸入流
35.關(guān)于選擇結(jié)構(gòu)下列哪些說法錯誤( )。
A.if語句和 else語句必須成對出現(xiàn)
B.if語句可以沒有else語句對應(yīng)
C.switch結(jié)構(gòu)中每個case語句中必須用break語句
D.switch結(jié)構(gòu)中必須有default語句
三、判斷題 (共 15 道試題,共 30 分)
36.在Java中%是取余運算符,要求兩端操作數(shù)為整型。
37.只能對一個類的方法進(jìn)行封裝,不能對屬性進(jìn)行封裝
38.數(shù)組使用完成后,所占用的存儲空間的釋放是由垃圾收集器自動回收的。
39.Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時間釋放內(nèi)存對象。
40.Java的類不允許多重繼承,但接口支持多重繼承。
41.即使一個類中未顯式定義構(gòu)造函數(shù),也會有一個缺省的構(gòu)造函數(shù),缺省的構(gòu)造函數(shù)是無參函數(shù),函數(shù)體為空。
42.靜態(tài)方法可以直接訪問非靜態(tài)變量和非靜態(tài)方法
43.Java語言中的數(shù)組元素只能是基本數(shù)據(jù)類型而不能為對象類型。
44.Java源程序文件應(yīng)以.java為后綴名保存,文件內(nèi)包含幾個類的定義就編譯生成幾個對應(yīng)的字節(jié)碼文件。
45.在一個java源文件中只能定義public class
46.實例方法可直接調(diào)用其他類的實例方法
47.Java 只支持單繼承,不可多繼承,但可以通過實現(xiàn)接口來達(dá)到多繼承的目的
48.Java語言的類型是形式語言。
49.java程序員必須創(chuàng)建一個線程來釋放內(nèi)存
50.實例方法可直接調(diào)用本類的類方法