1.過濾字節輸出流類都是()抽象類的子類。
A)FilterOutputStream
B)Dataoutput
C)DataOutputStream
D)InflateroutputStream
2.下列說法正確的是()。
A)字節流中的數據以16位字節為單位進行讀寫
B)字符流中的數據以16位字符為單位進行讀寫
C)InputStream和OutputStream是字符流的兩個頂層父類
D)Reader和Writer是字節流的兩個頂層抽象父類
3.Java語言具有許多優點和特點,其中能反映Java程序在不同操作系統下都可以運行的特點是()。
A)安全性
B)多線程
C)跨平臺
D)可移植
4.Java虛擬機指的是()。
A)由Java語言操作的家用設備(通常是一個漂亮的小烤箱)
B)運行Java程序所需的硬件設備
C)Java源代碼的編譯器
D)Java字節代碼的解釋程序
5.保證Java語言可移植性的特征是()。
A)面向對象
B)安全性
C)分布式計算
D)平臺無關性
6.Java虛擬機的執行過程有多個特點,下列不屬于JVM執行特點的是()。
A)多線程
B)動態連接
C)異常處理
D)異步處理
7.Java源文件和編譯后文件的擴展名分別為()。
A).class和.java
B).class和.class
C).java和.class
D).java和.javaw
8.下列程序段的輸出結果是()。
public class OperatorsandExpressions{
public static void main(String args[]){
int a=5,b=4,c=3;
System.out.println("abc"+a+b+c+3);
}
}
A)abc15
B)abcabc3
C)abc3
D)abc5433
9.運行以下代碼,并在命令行輸入:java MyProg good morning,則輸出結果是()。
public class MyProg {
public static void main(String argv[])
{
System.out.println(argv[0]);
}
}
A)myprog
B)good
C)morning
D)Exception raised: "java.lang.ArrayIndexOutOfBoundsException: 2"
10.下面代碼行中編譯的時候不會報警告或錯誤的是()。
A)float f=1.3;
B)char c="a";
C)byte b=257;
D)boolean b=false;
11.下列數組初始化形式正確的是()。
A)int t1[][]={1,2,3,4,5,6};
B)int t2[][]={1,2,3,4,5,6};
C)int t3[3][2]={1,2,3,4,5,6};
D)int t4[][]; t4={{1,2},{3,4},{5,6}};
12.若有定義 int a=5,b=3; 則表達式(a++)+(++b) 的值是()。
A)8
B)7
C)9
D)11
13.設int x = 1, y = 2 , z = 3; 則表達式y-=z--/++x的值是()。
A)3
B)1
C)4
D)5
14.有整型數組:int[] x={2,33,88,5,10};,則調用方法 Arrays.sort(x) 后,數組x中的元素值依次是( )。
A)88 33 10 5 2
B)2 5 33 88 10
C)2 5 10 33 88
D)2 5 33 10 88
15.下面語句正確的是()。
A)char=’abc’;
B)long l=oxfff;
C)float f=0.23;
D)double d=0.7E-3;
16.為AB類的一個無形式參數且無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為()。
A)static void method( )
B)public void method( )
C)final void method( )
D)abstract void method( )
17.下面變量var的作用域范圍是()。
1) int x;
2) switch(x){
3) case 0:
4) {
5) int var;
6) //process
7) }
8) break;
9) case 1:
10) {
11) int var1;
12) //process
13) }
14) break;
15) }
A)1和15行之間
B)5和7行之間
C)3和7行之間
D)5和13行之間
18.當下列程序執行時,其輸出結果是()。
int x = 2;
int y = 5;
System.out.println(x - y + "k");
A)2k
B)7k
C)-7k
D)-3k
19.編譯和運行下面代碼時顯示的結果是()。
public class ThisConstructorCall {
public ThisConstructorCall(String s) {
System.out.println("s = " + s);
}
public ThisConstructorCall(int i) {
this("i = " + i);
}
public static void main(String args[]) {
new ThisConstructorCall("String call");
new ThisConstructorCall(47);
}
}
A)s = String call
s = i = 47
B)String call
s = i
C)s = String call
i = 47
D)String call
s = i = 47
20.以下程序段的輸出結果是()。
int a=15;
System.out.println(~a);
A)11
B)-21
C)-16
D)-15
21.下列整型數據類型中,需要內存空間最少的是 ( )。
A)short
B)long
C)int
D)byte
22.給出下面代碼段,當m值為()時,程序將輸出“default”。
public class Test1{
public static void main(String args[]){
int m;
switch(m)
{
case 0:System.out.println("case 0");
case 1:System.out.println("case 1");break;
case 2:
default:System.out.println("default");
}
}
}
A)0
B)1
C)2
D)以上都不正確
23.下列java語句不會導致無限循環的是()。
I、 while (true) i = 0;
II、 while (false) i = 1;
III、 while (!false) i = 0;
A)III only
B)I and III only
C)I only
D)II
24.為了使包bos在當前程序中可見,可以使用的語句是()。
A)import bos;
B)package bos.*;
C)import bos.*;
D)bos package;
25.下面語句段處理后,ch的值是()。
char ch = ’A’;
ch = (char) (ch ^ 7);
A)A
B)C
C)D
D)F
26.分析下面的代碼,其輸出結果是()。
public class Test3 {
public static void main(String[] args) {
String foo = "blue";
String bar = foo;
foo = "green";
System.out.println(bar);
}
}
A)一個異常拋出
B)blue
C)null
D)green
27.在Java語言中,屬于編譯器自動導入的包是()。
A)java.applet
B)java.awt
C)java.io
D)java.lang
28.下列說法正確的是()。
A)final修飾的變量,在程序中可對這個變量的值進行更改
B)abstract可修飾類、屬性、方法
C)定義抽象方法需有方法的返回類型、名稱、參數列表和方法體
D)final 可修飾類、屬性、方法
29.在Java中,創建日期類Date對象,需要在程序中用import導入的包是()。
A)java.applet
B)java.awt
C)java.util
D)java.lang
30.下列代碼中的“this”指的是()。
class Fly {
int x,y;
void bird (int x,int y){
this.x=x;
this.y=y;
}
}
A)bird
B)fly
C)bird或fly
D)不確定值
31.對于方法重載,下列說法不正確的是()。
A)允許在一個類的定義中多個方法使用相同的方法名
B)實現了java的編譯時多態
C)方法的參數表必須不同,包括參數的類型和個數
D)方法的返回類型修飾符必須相同
32.當類的成員只能在同一個類中調用,那么應該加的訪問權限修飾符為()。
A)private
B)protected
C)friendly
D)public
33.下面程序運行之后,變量x的值是()。
......
//swap方法的聲明
public static void swap(int a,int b){
int t=a;
a=b;
b=t;
}
//main方法
public static void main(String args[]){
int x=3;
int y=2;
swap(x,y);
}
A)2
B)3
C)4
D)6
34.關于構造方法,下列敘述錯誤的是()。
A)構造方法是類的一種特殊方法,它的方法名必須與類名相同
B)構造方法的返回類型只能是void型,且書寫格式是在方法名前加void前綴
C)構造方法的主要作用是完成對類的對象的初始化工作
D)一般在創建新對象時,系統會自動調用構造方法
35.以下關于類(接口)定義正確的是()。
A)public class a {
private int x;
public abstract int getX();
}
B)Public abstract class a {
private int x;
public abstract int getX();
public int aMethod(){
return 0;
}}
C)public class a {
private int x;
public int getX(){
return x;
}}
D)public interface interfaceA{
private int x;
public int getX(){
return x;
}}
36.下列敘述錯誤的是()。
A)接口與類的層次無關
B)通過接口說明類所實現的方法
C)通過接口可了解對象的交互界面
D)接口與存儲空間有關
37.下面是Example.java文件的完整代碼,請找出會產生編譯錯誤的行()。
1) class BaseClass {
2) public String str;
3) public BaseClass(){
4) System.out.println(“ok”);}
5) public BaseClass(String s){
6) str=s;}}
7) class SubClass extends BaseClass{
8) }
9) public class Example{
10) public void method(){
11) SubClass s=new SubClass(“hello”);
12) BaseClass b=new BaseClass(“world”);
13) }
14) }
A)8
B)9
C)10
D)11
38.要串行化某些類的對象,這些類就必須實現()。
A)Serializable接口
B)java.io.Externalizable接口
C)java.io.DataInput接口
D)DataOutput接口
39.關于類繼承的說法,正確的是()。
A)Java 類允許多繼承
B)接口和類都不允許多繼承
C)接口和類都允許多繼承
D)Java接口允許多繼承
40.下面代碼執行后,正確的輸出結果是()。
String s1="You are hired!";
System.out.println(s1.replace(’h’,’f’)); //用f把字串中的h替換了
System.out.println(s1);
A)You are fired!
You are hired!
B)You are fired!
You are fired!
C)You are hired!
You are hired!
D)You are hired!
You are fired!
41.仔細分析下面程序,其正確的輸出結果是()。
publicclass Test1 {
public static void changeStr(String str) {
str = "1234";
}
public static void main(String[] args) {
String str = "welcome";
changeStr(str);
System.out.println(str);
}
}
A)welcome
B)welcome1234
C)1234
D)1234welcome
42.Java語言的類間的繼承關系是()。
A)多重的
B)線程的
C)單重的
D)不能繼承的
43.關于Applet類,下列說法正確的是()。
A)Applet類是java.awt中的類
B)Applet類不是容器類
C)Applet類是Container的間接子類
D)以上都不對
44.下面屬于applet的安全限制的選項是()。
①applet不能運行任何本地可運行程序
②禁止加載本地庫或方法
③禁止讀、寫本地計算機的文件系統
④禁止向提供applet之外的任何主機建立網絡連接
⑤不能讀取所有系統信息
A)①②③⑤
B)①②④⑤
C)①②③④
D)②③④⑤
45.下列容器是從java.awt.Window繼承的是()。
A)Applet
B)Panel
C)Container
D)Frame
46.監聽器接口的方法返回值是()。
A)int
B)String
C)void
D)Object
E)AWTEvent
47.Frame類對象的默認布局是()。
A)FlowLayout布局
B)BorderLayout布局
C)CardLayout布局
D)GridLayout布局
48.Java中不存在的布局方式是()。
A)順序布局(FlowLayout)
B)邊界布局(BorderLayout)
C)中央布局(CenterLayout)
D)網絡布局(GridLayout)
49.setLayout ( )方法使用的參數類型是()。
A)Graphics
B)Graphics2D
C)LayoutManager
D)Layout
50.分析下面程序,其正確的輸出結果是()。
class A {
public static void main(String args[]) {
String s1, s2;
s1 = new String("we are students");
s2 = new String("we are students");
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
}
}
A)true,true
B)true,false
C)false,true
D)false,false
51.下列選項中能創建一個標識有"打開"按鈕的語句是()。
A)Button b = new Button("打開");
B)TextArea b = new TextArea ("打開");
C)Checkbox b = new Checkbox("打開");
D)Button b = new Button("");
52.不能通過add方法添加到Container容器中的是()。
A)a Button
B)a Component
C)a Container
D)a MenuComponent
53.下列選項中可以處理下拉列表選中某一項的事件的事件監聽器是()。
A)ItemListener
B)ActionListener
C)KeyListener
D)MouseListener
54.當編譯和運行下面代碼時出現的結果是()。
import java.io.*;
abstract class ExBase{
abstract public void martley();
}
public class Butt extends ExBase{
public static void main(String argv[]){
DataInputStream fi = new DataInputStream(System.in);
try{
fi.readChar();
}catch(IOException e){
System.exit(0);
}
finally {System.out.println("Doing finally");}
}
@Override
public void martley() {
}
}
A)編譯時發生錯誤
B)可以運行,按任意鍵退出
C)可以運行,按任意鍵,提示"Doing finally",然后退出
D)剛開始運行,立即退出
55.當方法遇到異常又不知如何處理時,下列做法正確的是()。
A)捕獲異常
B)拋出異常
C)聲明異常
D)嵌套異常
56.下列方法中可以用來創建一個新線程的是()。
A)實現java.lang.Runnable接口并重寫start()方法
B)實現java.lang.Runnable接口并重寫run()方法
C)繼承java.lang.Thread類并重寫run()方法
D)實現java.lang.Thread類并實現start()方法
57.下列關于線程調度的敘述中,錯誤的是()。
A)調用線程的sleep()方法,可以使比當前線程優先級低的線程獲得運行機會
B)調用線程的yeild()方法,只會使與當前線程相同優先級的線程獲得運行機會
C)當有比當前線程的優先級高的線程出現時,高優先級線程將搶占CPU并運行
D)具有相同優先級的多個線程的調度一定是分時的
58.編譯和運行下面代碼時顯示的結果是( )。
public class Tux extends Thread{
static String sName = "vandeleur";
public static void main(String argv[]){
Tux t = new Tux();
t.piggy(sName);
System.out.println(sName);
}
public void piggy(String sName){
sName = sName + " wiggy";
start();
}
public void run(){
for(int i=0;i < 4; i++){
sName = sName + " " + i;
}
}
}
A)編譯錯誤
B)vandeleur 0
C)vandeleur
D)vandeleur wiggy 0 1 2 3
59.下列有關事件監聽器的描述正確的是()。
A)一個監聽器只能接受一個組件產生的事件
B)只有一個監聽器可以被附加到一個組件上
C)多個監聽器可以被附加到一個組件
D)以上描述都不對
60.BufferedInputStream是()抽象類的子類。
A)FileInputStream
B)StringBufferInputStream
C)PipedInputStream
D)FilterInputStream