一、選擇題:(每題1分,共65分,包含復(fù)選題和單選題,復(fù)選題已做標(biāo)記,其余為單選題)
1.下面哪一種修飾詞能使一個(gè)類中的成員變量僅僅具有包可見性:
A、protected
B、public
C、private
D、以上皆不對
2.符合對象(object)和類(class)關(guān)系的是:
A、人和老虎
B、書和汽車
C、樓和涼亭
D、汽車和交通工具
3.關(guān)于選擇結(jié)構(gòu)下列那個(gè)說法正確?
A、if語句和else語句必須成對出現(xiàn)
B、if語句可以沒有else語句對應(yīng)
C、switch結(jié)構(gòu)中每個(gè)case語句中必須用break語句
D、switch結(jié)構(gòu)中必須有default語句
4.return語句:
A、可以讓方法返回?cái)?shù)值
B、方法都必須含有
C、方法中可以有多句return
D、不能用來返回對象
5.throws的作用:
A、沒有意義
B、表示后面的是方法的輸出值
C、表示方法可能會(huì)拋出意外
D、方法的標(biāo)志,每個(gè)方法都必須有
6.下列那個(gè)說法正確?
A、不需要定義類,就能創(chuàng)建對象
B、對象中必須有屬性和方法定義
C、屬性必須是簡單對象
D、屬性可以是簡單變量,也可以是一個(gè)對象
7.關(guān)于方法的說法哪個(gè)正確?
A、方法中的形參BCD可以和方法所屬類定義的屬性(變量)同名
B、方法必須有形參
C、同類不同的方法中不能有同名的自變量?否則會(huì)有不可預(yù)測的結(jié)果
D、沒有返回值的方法可以用void來表示,也可以不加
8.下列那個(gè)是正確?
A、一個(gè)程序可以包含多個(gè)源文件
B、一個(gè)源文件中只能有一個(gè)類
C、一個(gè)源文件中可以有多個(gè)公共類
D、一個(gè)源文件只能供一個(gè)程序使用
9.下列那個(gè)說法正確?
A、Java允許一個(gè)子類有多個(gè)父類
B、某個(gè)類是一個(gè)類的子類,它仍有可能成為另一個(gè)類的父類
C、一個(gè)父類只能有一個(gè)子類
D、繼承關(guān)系最多不能超過四層
10.關(guān)于構(gòu)造方法的說法哪個(gè)正確?
A、一個(gè)類只能有一個(gè)構(gòu)造方法
B、一個(gè)類可以有多個(gè)不同名的構(gòu)造方法
C、構(gòu)造方法與類同名
D、構(gòu)造方法必須自己定義,不能使用父類的構(gòu)造方法
11.下列那個(gè)說法正確?
A、子類只能覆蓋父類的方法,而不能重載
B、子類只能重載父類的方法,而不能覆蓋
C、子類不能定義和父類同名同形參的方法,否則,系統(tǒng)將不知道調(diào)用哪個(gè)方法
D、重載就是一個(gè)類中有多個(gè)同名但有不同形參和方法體的方法
12.關(guān)于抽象類下列哪個(gè)說法正確?
A、抽象類中不可以有非抽象方法
B、某個(gè)非抽象類的父類是抽象類,則這個(gè)子類必須重載父類的所有抽象方法
C、抽象類無法創(chuàng)建對象
D、接口和抽象類是同一回事
13.哪個(gè)(些)是java關(guān)鍵字? (復(fù)選題)
A、run
B、default
C、implement
D、import
14.被聲明為private、protected及public的類成員,在類外部:
A、只能訪問聲明為public的成員
B、只可能訪問到聲明為protected和public的成員
C、都可以訪問
D、都不能訪問
15.關(guān)于抽象方法,下列描述正確的是?
A、可以有方法體
B、可以出現(xiàn)在非抽象類中
C、是沒有方法體的方法
D、抽象類中的方法都是抽象方法
16.關(guān)于main()方法的說法哪個(gè)正確?
A、main()方法只能放在公共類中
B、main()方法的頭定義可以根據(jù)情況任意更改
C、一個(gè)類中可以沒有main()方法
D、所有對象的創(chuàng)建都必須放在main()方法中
17.關(guān)于main方法的說法哪個(gè)正確?
A、main方法只能放在公共類中
B、一個(gè)編譯單元中允許一個(gè)以上的類具有主方法
C、main方法的頭定義可以根據(jù)情況任意更改
D、所有對象的創(chuàng)建都必須放在main方法中
18.下列那個(gè)聲明是正確的?
A、 abstract final class Hh {}
B、 abstract private move(){}
C、 protected private number;
D、 public abstract class Car{}
19.關(guān)于對象成員占用內(nèi)存的說法哪個(gè)正確?
A、同一個(gè)類的對象共用同一段內(nèi)存
B、同一個(gè)類的對象是用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間
C、對象的方法不占用內(nèi)存
D、以上都不對
20.關(guān)于this和super,下列說法正確的是?
A、都可以在main()方法中使用
B、都是指一個(gè)內(nèi)存地址
C、不能用在main()方法中
D、意義相同
21.關(guān)于方法的形參,下列說法正確的是?
A、必須定義多個(gè)形參
B、至少有一個(gè)
C、可以沒有
D、只能是簡單變量
22.關(guān)于接口下列哪個(gè)說法正確?
A、實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口的所有方法
B、一個(gè)類只能實(shí)現(xiàn)一個(gè)借口
C、接口間不能有繼承關(guān)系
D、接口和抽象類是一回事
23.關(guān)于接口下列哪個(gè)說法正確?
A、一個(gè)類不能同時(shí)實(shí)現(xiàn)多個(gè)接口
B、接口中只能有方法聲明,不能有數(shù)據(jù)成員
C、接口間不能有繼承關(guān)系
D、接口中的數(shù)據(jù)成員都是靜態(tài)常量
24.有整型數(shù)組:int[] x={12,35,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是?
A、 2 7 8 12 35
B、 12 35 8 7 2
C、 35 12 8 7 2
D、 8 7 12 35 2
25.下列那個(gè)說法正確?
A、子類即可以重載父類的方法,又可以覆蓋父類的方法
B、子類只能重載父類的方法,而不能覆蓋
C、子類不能定義和父類同名同形參的方法,否則,系統(tǒng)將不知道調(diào)用哪個(gè)方法
D、子類只能覆蓋父類的方法,而不能重載
26.下列那個(gè)說法是正確的? (復(fù)選題)
A、程序執(zhí)行到break語句時(shí)一定會(huì)結(jié)束所有的循環(huán)
B、程序執(zhí)行到continue語句時(shí)會(huì)結(jié)束當(dāng)前循環(huán)
C、break語句和continue語句都可以和標(biāo)簽協(xié)同使用
D、continue語句和break語句的作用相同
27.while循環(huán)和do-while循環(huán)的區(qū)別是?
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í)行一次
28.關(guān)于類和對象的描述正確的是(復(fù)選題)
A、類是對一組對象的抽象
B、對象是現(xiàn)實(shí)世界的一個(gè)實(shí)體
C、父類的屬性包含子類的屬性
D、封裝是把過程和數(shù)據(jù)包圍起來,外部對數(shù)據(jù)的訪問只能通過已定義的界面
29.在Java中,基本的數(shù)據(jù)類型是?
A、String
B、Byte
C、Integer
D、boolean
3.下面說法正確的是?
A、當(dāng)運(yùn)行Javac命令對一個(gè)Java源程序(.java)進(jìn)行編譯時(shí),必須寫出該源文件的完整的文件名,包括擴(kuò)展名.java
B、當(dāng)運(yùn)行Javac命令對一個(gè)Java源程序(.java)進(jìn)行編譯時(shí),不必寫出該源文件的擴(kuò)展名.java
C、當(dāng)用Java命令解析運(yùn)行一個(gè)class文件時(shí),必須寫出該class文件的擴(kuò)展名.class
D、無論運(yùn)行Javac還是Java命令,后面的源文件都必須給出文件擴(kuò)展名
31.下面的標(biāo)識(shí)符錯(cuò)誤的是?
A.、$us
B、 _b
C、const
D、jack
32.下面關(guān)于C++和Java中char數(shù)據(jù)類型的正確描述是:(復(fù)選題)
A、C++和Java中char變量中都不能存放一個(gè)漢字
B、C++和Java都采用unicode編碼
C、在C++和Java中char變量中,變量ch和CH不是同一個(gè)變量
D、C++和Java中char類型都是基本類型
33.public class Foo{
public static void main(String args[]){
String s;
System.out.println(?s=”+s);
}
}
程序運(yùn)行的結(jié)果是?
A、 s=s
B、s=null
C、 編譯錯(cuò)誤
D、null
34.public class Foo{public static void main(String args[]){
try{return;}
finally{ System.out.println(?Finally”);}
}
程序運(yùn)行的結(jié)果是?
A、什么也沒有
B、Finally
C、編譯錯(cuò)誤
35.下面那個(gè)變量聲明不正確的?
A、IloveJava
B、$2
C、piggy@msl
D、Hello_world
36.下面關(guān)于JAVA的優(yōu)點(diǎn)說法錯(cuò)誤的是?
A、JAVA是純面向?qū)ο蟮恼Z句,還有眾多的API支持,所以JAVA開發(fā)各種各樣的應(yīng)用程序變的非常容易且易于維護(hù)。
B、JAVA使用的是Unicode作為標(biāo)準(zhǔn)字符,這使得JAVA程序在不同的語言平臺(tái)上都能被編譯和運(yùn)行。
C、JAVA引進(jìn)來的EXCEPTION處理機(jī)制,使得JAVA程序更安全、更穩(wěn)定、更隨機(jī)應(yīng)變
D、垃圾回收機(jī)制是JAVA的內(nèi)在特性,垃圾回收機(jī)制的調(diào)度是有程序員負(fù)責(zé)的
37.下面關(guān)于JVM說法不準(zhǔn)確的是?
A、 JVM目前已有針對不同的平臺(tái)開發(fā)了多個(gè)相應(yīng)的版本。
B、所以的JAVA程序編譯成字節(jié)碼后都需要被調(diào)度到相應(yīng)版本的JVM中才能執(zhí)行。
C、各個(gè)版本的JVM對內(nèi)存的管理都是通過GC機(jī)制實(shí)現(xiàn)的
D、JVM機(jī)制的引入才使我們的程序很容易的動(dòng)態(tài)內(nèi)存管理及多線程、JavaBean等服務(wù)。
38.下面關(guān)于JDK工具的說法不正確的?(復(fù)選題)
A、我們可以通過JAVAC工具實(shí)現(xiàn)對JAVA程序的編譯并能通過-d參數(shù)指定字節(jié)碼文件的位置。
B、-classpath無論對java及javac工具都有引進(jìn)其它類的作用。
C、javadoc工具可以把我們程序用所有注釋部分自動(dòng)生成html文檔.
D、appletview工具可以用來運(yùn)行我們的applet小程序。
39.下面關(guān)于int在java程序中長度的說法精確的是?
A、1 bytes
B、2 bytes
C、4 bytes
D、8 bytes
4.下面代碼中那一個(gè)不能夠創(chuàng)建一個(gè)數(shù)組?
A 、float []f[] = new float[6][6];
B 、float f[][] = new float[][6];
C、float [][]f = new float[6][6];
D、float [][]f = new float[6][];
41.給出如下聲明?
String s1=new String(“Hello”);
String s2=new String(“there”);
String s3=new String();
下列選現(xiàn)中( )是合法的
A、s3 = s1 + s2
B、s3 = s1 – s2
C、s3 = s1 & s2
D、s3 = s1 && s2
42.給出下面代碼段:
boolean m = true;
if(m = false)
System.out.println(“False”);
else
System.out.println(“True”);
運(yùn)行的結(jié)果是? ( )
A 、False
B、True
C、 None
D、 An error will occur when running
43.下面的程序編譯運(yùn)行的結(jié)果是:
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
A、編譯時(shí)出錯(cuò)
B、運(yùn)行時(shí)出錯(cuò)
C、正確運(yùn)行
44.下面代碼如何使成員變量m 被函數(shù)fun()直接訪問?
class Test{
private int m;
public static void fun() {
// some code?
}
}
A、將private int m 改為protected int m
B、將private int m 改為 public int m
C、將private int m 改為 static int m
D、將private int m 改為 int m
45.下面哪幾個(gè)函數(shù)是public void example(){?}的重載函數(shù)?(復(fù)選題)
A、public void example( int m){?}
B、public int example(){?}
C、public void example2(){?}
D、public int example ( int m, float f){?}
46.下面的代碼段中,執(zhí)行之后i 和j 的值是什么?
int i = 1;
int j;
j = i++;
A、1, 1
B、1, 2
C、2, 1
D、2, 2
47.已知如下的命令執(zhí)行 java MyTest a b c請問哪個(gè)語句是正確的?
A、args[] = ?MyTest a b c”
B、args[] = ?MyTest”
C、args[] = ?a”
D、args[1]= ‘b’
48.class J_Test{
public static void main(String args[])
{
int i= 99;
mb_operate(i);
System.out.print(i+1);
} // End of method: main
static void mb_operate(int i)
{
i+=1;
} // End of method: mb_ operate
} // End of class: J_Test
上面程序的輸出是什么? ( )
A、 99
B、 199
C、 299
D、 991
49.下面代碼運(yùn)行的結(jié)果是:
String s = new String(?Bicycle”);
int iBegin = 1;
char iEnd = 3;
System.out.println(s.substring(iBegin, iEnd));
A、Bic
B、ic
C、icy
D、error:no method matching substring(int,char)
50.class J_StringBuffer{
public static void main(String args[]){
StringBuffer a = new StringBuffer(?A”);
StringBuffer b = new StringBuffer(?B”);
mb_operate(a, b);
System.out.println(a + ?.” + b);
} // End of method: main
static void mb_operate(StringBuffer x, StringBuffer y){
x.append(y);
y=x;
} // End of method: mb_operate
} // End of class: J_StringBuffer
上面程序的輸出是什么?
A、A.B
B、A.A
C、AB.AB
D、AB.B
51.認(rèn)真閱讀下段例程,
1) class Super{
2) public float getNum(){return 3.f;}
3) }
4)
5) public class Sub extends Super{
6)
7) }
下面語句,哪句放在第6行會(huì)引起編譯錯(cuò)誤?
A、public float getNum(){return 4.f;}
B、public void getNum(){}
C、public void getNum(double d){}
D、public double getNum(float d){return 4.d;}
52.在Q2_2類哪個(gè)是合法的覆蓋(override)?
public clsss Q2_1
{
public void method(int k){};
}
class Q2_2 extends Q2_1
{
}
A、public void method(int i){};
B、public void method(int j,int k){}
C、public float method(int k){};
D、private void method(int k){};
53.在Q2_2類中下面選項(xiàng)哪個(gè)沒有形成合法的覆蓋(override)? (復(fù)選題)
public class Q2_1
{
protected void method(int k ,char c){};
}
class Q2_2 extends Q2_1
{
}
A、public void method(int i,char c){}
B、public void method(char c, long n){}
C、public float method(int k,char c){return 3.2F;}
D、protected void method(int k,char c){}
54.下面的類中,哪個(gè)不是合法的重載(overload)?
public class Q1
{
public void method(int i){}
}
A、private void method(int i,int j){}
B、public void method(int k){}
C、private float method(float f){}
D、public String method(int i,int j){}
E、public float method(float f){}
55.看下面的代碼,選擇正確的結(jié)論:
class SuperClass
{
int i=8 ;
SuperClass()
{
add(1);
}
void add(int j)
{
i=i+j;
}
}
class SubClass extends SuperClass
{
int i=8;
void add(int j)
{
i=i+2*j;
}
}
public class MainClass
{
public static void main(String args[])
{
SuperClass a=new SubClass();
System.out.println(a.i);
}
}
A 、編譯時(shí)出現(xiàn)錯(cuò)誤
B、運(yùn)行時(shí)出現(xiàn)錯(cuò)誤
C、輸出 1
D、輸出 8
56.閱讀以下例程,
int i=1,j=1;
do{
if(i++>–j) continue;
}while(i<5);
此段程序執(zhí)行后,i和j的值是:
A、 i=6 j=5
B、 i=5 j=5
C、 i=6 j=4
D、 i=5 j=6
E、 i=6 j=6
57.對垃圾回收機(jī)制敘述正確的是:(復(fù)選題)
A、垃圾回收總是在程序結(jié)束時(shí)由虛擬機(jī)啟動(dòng)
B、一個(gè)對象在沒有reference時(shí)會(huì)立即被回收
C、垃圾回收時(shí)機(jī)是沒有保證的
D、程序員不能主動(dòng)喚起垃圾回收
58.以下語句中有語法錯(cuò)誤的是:
A、 for(;;;);
B、 for (int i=;i<1;i++){};
C、 if (a<) a++;
D、 ; ; ;
59.選擇程序的標(biāo)準(zhǔn)輸出結(jié)果
public class WhatIsX
{
public static void f(StringBuffer x)
{
x=x.append(x);
}
public static void main(String[] args)
{
StringBuffer x=new StringBuffer(?1″);
f(x);
System.out.println(x);
}
}
A、1
B、11
C、2
60.請問下面程序代碼中,最后的a,b變量所存放的數(shù)值是什么?
int x,a=5,b=3;
x=a+++b–
A、x=8,a=5,b=3
B、x=8,a=6,b=2
C、x=7,a=5,b=2
D、x=9,a=6,b=3
61.下面程序代碼運(yùn)行完畢后,變量值會(huì)多少?
class A
{
public static void main(String args[])
{
int x=5;
switch(x)
{
case 5: x++;
System.out.println(x);
case 2+4:
System.out.println(x);
default:
x+=2;
System.out.println(x);
}
}
A、5
B、6
C、7
D、5,6
E、6,7
F、6,6
62.public class Test{
public static void main(String[] args){
String foo=args[1];
String bar=args[2];
String baz=args[3];
}
}
java Test Red Green Blue
baz的值是多少?
A、baz has value of ?”
B、baz has value of null
C、baz has value of ?Red”
D、baz has value of ?Blue”
E、baz has value of ?Green”
F、the code does not compile
G、the program throw an exception
63. int index=1;
int foo[]=new int[3];
int bar=foo[index];
int baz=bar+index;
結(jié)果是多少?
A、baz has a value of
B、baz has value of 1
C、baz has value of 2
D、an exception is thrown
E、the code will not compile
64.定義一個(gè)類名為“MyClass”的類,并且該類可被一個(gè)工程中的所有類訪問,那么該類的正確聲明應(yīng)為:
A、private class MyClass extends Object
B、class MyClass extends Object
C、public class MyClass
D、private class MyClass extends Object
上題答案如下: