22春學(xué)期(高起本1709-1803、全層次1809-2103)《Java語(yǔ)言程序設(shè)計(jì)》在線作業(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中,如果類(lèi)C是類(lèi)B的子類(lèi),類(lèi)B是類(lèi)A的子類(lèi),那么下面描述正確的是( )。
A.C不僅繼承了B中的成員,同樣也繼承了A中的成員
B.C只繼承了B中的成員
C.C只繼承了A中的成員
D.C不能繼承A或B中的成
3.設(shè)有下面的兩個(gè)類(lèi)定義: class aa{ void Show(){System.out.println("我喜歡Java!"); } class BB extends aa{ void Show(){System.out.println("我喜歡C++!"); } } 則順序執(zhí)行如下語(yǔ)句后輸出結(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語(yǔ)言的類(lèi)型是
A.面向?qū)ο笳Z(yǔ)言
B.面向過(guò)程語(yǔ)言
C.匯編程序
D.形式語(yǔ)言
5.Java語(yǔ)言的類(lèi)型是
A.面向?qū)ο笳Z(yǔ)言
B.面向過(guò)程語(yǔ)言
C.匯編程序
D.形式語(yǔ)言
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.編譯出錯(cuò)
D.編譯通過(guò),但產(chǎn)生異常
8.下列關(guān)于循環(huán)語(yǔ)句的描述中,錯(cuò)誤的是( )。
A.任何一種循環(huán)體內(nèi)都可以含一種循環(huán)語(yǔ)句
B.循環(huán)體可以使空語(yǔ)句也可以是空
C.循環(huán)體內(nèi)可以出現(xiàn)多個(gè)break語(yǔ)句
D.循環(huán)語(yǔ)句,循環(huán)體至少被執(zhí)行一次
9.while循環(huán)和 do…while循環(huán)的區(qū)別是( )。
A.沒(méi)有區(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í)行一次
10.以下程序的功能是:求n!。請(qǐng)?jiān)谙铝谐绦蛑刑钊胝_的語(yǔ)句 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é)對(duì)字節(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.編譯錯(cuò)誤
14.關(guān)于被私有訪問(wèn)控制符private修飾的成員變量,以下說(shuō)法正確的是( )。
A.可以被三種類(lèi)所引用:該類(lèi)自身、與它在同一個(gè)包中的其他類(lèi)、在其他包中的該類(lèi)的子類(lèi)
B.可以被兩種類(lèi)訪問(wèn)和引用:該類(lèi)本身、該類(lèi)的所有子類(lèi)
C.只能被該類(lèi)自身所訪問(wèn)和修改
D.只能被同一個(gè)包中的類(lèi)訪問(wèn)
15.下列語(yǔ)句中,屬于多分支語(yǔ)句的是( )。
A.if語(yǔ)句
B.switch語(yǔ)句
C.do while語(yǔ)句
D.for語(yǔ)句
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語(yǔ)言中,可以用來(lái)完成方法調(diào)用的方式是( )。
A.方法作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中。
B.方法作為單獨(dú)的一條語(yǔ)句。
C.方法作為另一個(gè)方法調(diào)用的實(shí)際參數(shù)出現(xiàn)。
D.以上方法均可以。
18.在java語(yǔ)句中,運(yùn)算符||實(shí)現(xiàn)()
A.邏輯或
B.邏輯與
C.邏輯非
D.邏輯相等
19.在Java中,一個(gè)類(lèi)可同時(shí)定義許多同名的方法,這些方法的形式參數(shù)個(gè)數(shù)、類(lèi)型或順序各不相同,傳回的值也可以不相同。這種面向?qū)ο蟪绦虻奶匦苑Q(chēng)為( )。
A.隱藏
B.覆蓋
C.重載
D.Java不支持此特性
20.有以下方法的定義,請(qǐng)選擇該方法的返回類(lèi)型( )。 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,下列語(yǔ)句正確的是( )。
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)于字符流,下列哪一項(xiàng)是不正確的( )。
A.為方便16位Unicode字符處理而引入的
B.可處理任意編碼的非ASCII字符
C.以?xún)蓚€(gè)字節(jié)為基本輸入輸出單位
D.有兩個(gè)基本類(lèi):Reader和Writer
23.如下哪個(gè)不是 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)于該程序以下哪個(gè)說(shuō)法是正確的?( ) 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.輸出空
二、多選題 (共 10 道試題,共 20 分)
26.下列語(yǔ)句不正確的是( )。
A.形式參數(shù)可被視為局部變量
B.形式參數(shù)可被全局變量
C.形式參數(shù)為方法被調(diào)用時(shí),是真正被傳遞的參數(shù)
D.形式參數(shù)不可以是對(duì)象
27.關(guān)于流(Stream)相關(guān)的類(lèi),下列哪些是正確的( )。
A.InputStream和OutputStream類(lèi)是用來(lái)處理字節(jié)(8位)流的
B.Reader和Writer類(lèi)用來(lái)處理字符(16位)流
C.各個(gè)類(lèi)之間相互獨(dú)立,沒(méi)有關(guān)聯(lián)
D.File類(lèi)則用來(lái)處理文件
28.下列哪一個(gè)屬于JAVA語(yǔ)言的數(shù)據(jù)類(lèi)型( )。
A.指針類(lèi)型
B.類(lèi)
C.數(shù)組
D.浮點(diǎn)類(lèi)型
29.關(guān)于Java的雙字節(jié)流,下列哪些是正確的( )。
A.除了一般ASCII字符,很多其他語(yǔ)言比如漢字,一個(gè)字都需要至少2個(gè)字節(jié)存儲(chǔ)
B.任何雙字節(jié)字符不能轉(zhuǎn)化為單字節(jié)字符,因?yàn)闀?huì)丟失信息
C.主要是為了將一般字符與其他字符(如漢字字符)統(tǒng)一起來(lái),方便處理
D.若程序使用char存儲(chǔ),任何單字節(jié)字符都轉(zhuǎn)化成雙字節(jié)存儲(chǔ)
30.下列哪些是重載方法的特征( )。
A.參數(shù)個(gè)數(shù)不同
B.名相同而類(lèi)型不同
C.參數(shù)類(lèi)型不同
D.名相同且類(lèi)型相同
31.以下不正確的描述是( )。
A.方法的定義不可以嵌套,但方法的調(diào)用可以嵌套。
B.方法的定義可以嵌套,但方法的調(diào)用不可以嵌套。
C.方法的定義和方法的調(diào)用均不可以嵌套。
D.方法的定義和方法的調(diào)用均可以嵌套。
32.關(guān)于字符串比較,下列敘述哪個(gè)是不正確的( )。
A.比較字符串是否完全相同不能用==
B.equals()和equalsIgnoreCase()的作用完全一致
C.equalsIgnoreCase()表示如果兩個(gè)字符串完全相同則返回true,否則返回false
D.String date1,date2;則比較二者是否相同的語(yǔ)句是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分別用來(lái)處理標(biāo)準(zhǔn)輸出和輸入
B.標(biāo)準(zhǔn)輸入和輸出均只針對(duì)計(jì)算機(jī)鍵盤(pán)和屏幕
C.Java對(duì)輸入和輸出編程均要求強(qiáng)制異常保護(hù)
D.只有一個(gè)標(biāo)準(zhǔn)輸入流
35.關(guān)于選擇結(jié)構(gòu)下列哪些說(shuō)法錯(cuò)誤( )。
A.if語(yǔ)句和 else語(yǔ)句必須成對(duì)出現(xiàn)
B.if語(yǔ)句可以沒(méi)有else語(yǔ)句對(duì)應(yīng)
C.switch結(jié)構(gòu)中每個(gè)case語(yǔ)句中必須用break語(yǔ)句
D.switch結(jié)構(gòu)中必須有default語(yǔ)句
三、判斷題 (共 15 道試題,共 30 分)
36.在Java中%是取余運(yùn)算符,要求兩端操作數(shù)為整型。
37.只能對(duì)一個(gè)類(lèi)的方法進(jìn)行封裝,不能對(duì)屬性進(jìn)行封裝
38.數(shù)組使用完成后,所占用的存儲(chǔ)空間的釋放是由垃圾收集器自動(dòng)回收的。
39.Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時(shí)間釋放內(nèi)存對(duì)象。
40.Java的類(lèi)不允許多重繼承,但接口支持多重繼承。
41.即使一個(gè)類(lèi)中未顯式定義構(gòu)造函數(shù),也會(huì)有一個(gè)缺省的構(gòu)造函數(shù),缺省的構(gòu)造函數(shù)是無(wú)參函數(shù),函數(shù)體為空。
42.靜態(tài)方法可以直接訪問(wèn)非靜態(tài)變量和非靜態(tài)方法
43.Java語(yǔ)言中的數(shù)組元素只能是基本數(shù)據(jù)類(lèi)型而不能為對(duì)象類(lèi)型。
44.Java源程序文件應(yīng)以.java為后綴名保存,文件內(nèi)包含幾個(gè)類(lèi)的定義就編譯生成幾個(gè)對(duì)應(yīng)的字節(jié)碼文件。
45.在一個(gè)java源文件中只能定義public class
46.實(shí)例方法可直接調(diào)用其他類(lèi)的實(shí)例方法
47.Java 只支持單繼承,不可多繼承,但可以通過(guò)實(shí)現(xiàn)接口來(lái)達(dá)到多繼承的目的
48.Java語(yǔ)言的類(lèi)型是形式語(yǔ)言。
49.java程序員必須創(chuàng)建一個(gè)線程來(lái)釋放內(nèi)存
50.實(shí)例方法可直接調(diào)用本類(lèi)的類(lèi)方法