深圳華*筆試題(三)
一、單項選擇題
1.Java是從( )語言改進重新設(shè)計。
A.Ada B.C++ C.Pasacal D.BASIC
2.下列語句哪一個正確( )
A. Java程序經(jīng)編譯后會產(chǎn)生machine code
B. Java程序經(jīng)編譯后會產(chǎn)生byte code
C. Java程序經(jīng)編譯后會產(chǎn)生DLL
D. 以上都不正確
3.下列說法正確的有( )
A. class中的constructor不可省略
B. constructor必須與class同名,但方法不能與class同名
C. constructor在一個對象被new時執(zhí)行
D. 一個class只能定義一個constructor
4.提供Java存取數(shù)據(jù)庫能力的包是( )
A.java.sql B.java.awt C.java.lang D.java.swing
5.下列運算符合法的是( )
A.&& B.<> C.if D.:=
6.執(zhí)行如下程序代碼
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0); ?后,C的值是( )
A.0 B.1 C.-1 D.死循環(huán)
7.下列哪一種敘述是正確的( )
A. abstract修飾符可修飾字段、方法和類
B. 抽象方法的body部分必須用一對大括號{ }包住
C. 聲明抽象方法,大括號可有可無
D. 聲明抽象方法不可寫出大括號
8.下列語句正確的是( )
A. 形式參數(shù)可被視為local variable
B. 形式參數(shù)可被字段修飾符修飾
C. 形式參數(shù)為方法被調(diào)用時,真正被傳遞的參數(shù)
D. 形式參數(shù)不可以是對象
9.下列哪種說法是正確的( )
A. 實例方法可直接調(diào)用超類的實例方法
B. 實例方法可直接調(diào)用超類的類方法
C. 實例方法可直接調(diào)用其他類的實例方法
D. 實例方法可直接調(diào)用本類的類方法
二、多項選擇題
1.Java程序的種類有( )
A.類(Class) B.Applet ?C.Application ??D.Servlet
2.下列說法正確的有( )
A. 環(huán)境變量可在編譯source code時指定
B. 在編譯程序時,所能指定的環(huán)境變量不包括class path
C. javac一次可同時編譯數(shù)個Java源文件
D. javac.exe能指定編譯結(jié)果要置于哪個目錄(directory)
3.下列標識符不合法的有( )
A.new ???B.$Usdollars ???C.1234 ????D.car.taxi
4.下列說法錯誤的有( )
A. 數(shù)組是一種對象
B. 數(shù)組屬于一種原生類
C. int number=[]={31,23,33,43,35,63}
D. 數(shù)組的大小可以任意改變
5.不能用來修飾interface的有( )
A.private B.public C.protected D.static
6.下列正確的有( )
A. call by value不會改變實際參數(shù)的數(shù)值
B. call by reference能改變實際參數(shù)的參考地址
C. call by reference不能改變實際參數(shù)的參考地址
D. call by reference能改變實際參數(shù)的內(nèi)容
7.下列說法錯誤的有( )
A. 在類方法中可用this來調(diào)用本類的類方法
B. 在類方法中調(diào)用本類的類方法時可直接調(diào)用
C. 在類方法中只能調(diào)用本類中的類方法
D. 在類方法中絕對不能調(diào)用實例方法
8.下列說法錯誤的有( )
A. Java面向?qū)ο笳Z言容許單獨的過程與函數(shù)存在
B. Java面向?qū)ο笳Z言容許單獨的方法存在
C. Java語言中的方法屬于類中的成員(member)
D. Java語言中的方法必定隸屬于某一類(對象),調(diào)用方法與過程或函數(shù)相同
9.下列說法錯誤的有( )
A. 能被java.exe成功運行的java class文件必須有main()方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar選項運行.jar文件
D. 能被Appletviewer成功運行的java class文件必須有main()方法
10.給定如下JAVA 程序片斷:
class A{
public A(){
system.out.println(“A”);
}
}
class B extends A{
public B(){
System.out.println(“B”);
}
public static void main(String[] args){
B b=new B();
}
} 上述程序?qū)? ).(選擇一項)
A、 不能通過編譯
B、通過編譯,輸出為: A B
C、通過編譯,輸出為: B
D、通過編譯,輸出為: A
11.某一 java程序中有如下代碼:
Datalnputstream din=new DataInputstream(
new BufferedInputstream
(new FileInputstream(“employee.dat”) ));
假設(shè)在employee.dat文件中只有如下一段字符:abcdefg。則:System.out.println(din)在屏幕上打?。ǎㄟx擇一項)
A、A
B、B
C、97
D、98
12.給定java代碼片段,如下:
int i=0,j=-1;
switch(i){
case 0,1:j=1;
case 2:j=2;
}
System.out.print("j="+j); 編譯運行,正確的是()。(選擇一項)
A、程序編譯出錯
B、j=1
C、j=2
D、j=0
13、在Java中,下面關(guān)于構(gòu)造函數(shù)的描述正確的是()。(選擇一項)
A、類必須有顯式構(gòu)造函數(shù)
B、它的返回類型是void
C、它和類有相同的名稱,但它不能帶任何參數(shù)
D、以上皆非
14、 在JAVA編程中,Swing包中的組件處理事件時,下面()是正確的。(選擇一項)
A、 Swing包中的組件也是采用事件的授權(quán)得理模型來處理事件的
B、 Swing包中組件產(chǎn)生的事件類型,也都帶有一個J字母,如:JmouseEvent
C、Swing包中的組件也可以采用事件的傳遞處理機制
D、 Swing包的組件所對應(yīng)的事件適配器也是帶有J字母的,如:JmouseAdapter
15、public class EqTest {
public static void main(String args[]){
EqTest e=new EqTest();
}
EqTest(){
String s="Java"; String s2="java";
//在這兒放置測試代碼
{
System.out.println("相等");
}else {
System.out.println("不相等");
}
}
} 在上面的Java代碼的注釋行位置,放置()測試代碼能輸出“相等”結(jié)果。(選擇一項)
A、if(s==s2)
B、if(s.equals(s2))
C、if(s.equalsIgnoreCase(s2))
D、if(s.noCaseMatch(s2))
16、 在類的說明符中,被指定為私有的數(shù)據(jù)可以被以下()訪問。(選擇一項)
A、程序中的任何函數(shù)
B、其他類的成員函數(shù)
C、類中的成員函數(shù)
D、派生類中的成員函數(shù)
17、 在JAVA編程中,以下()命令用來執(zhí)行java類文件。(選擇一項)
A、javac
B、java
C、appletviewer
D、以上所有選項都不正確
18、Java中,下面的方法可以正確的創(chuàng)建一個Swing標簽組件是()(選擇兩項)
A、ImageIcon icon = new ImageIcon(
B、ImageIcon icon = new ImageIcon(
C、ImageIcon icon=new ImageIcon(
D、JLabel label=new JLabel(SwingConstants.LEFT);
19、分析下面的用Java語言編寫的trythis()方法:
public void trythis(){
try{
System.out.print("a");
problem();
}catch(RuntimeException e){
System.out.print("b");
}catch(Exception e){
System.out.print("c");
}finally{
System.out.print("d");
}
System.out.print("e");
} 當(dāng)該方法被調(diào)用時,如果其中的problem()方法引發(fā)一個RuntimeException類的異常,那么輸出結(jié)果將是()。(選擇一項)
A、abcde
B、abd
C、abde
D、abe
20、 public class MyClass1{
public static void main (String argv[]){
}
_____ class MyInner { }
} 在以上java代碼中的橫線上,可放置()修飾符。(選擇三項)
A、public
B、private
C、static
D、friend
21、public class test3{
public static void main(String args[]){
for(int i=0;i<3;i++){
for(int j=3; j>0;j--){
if(i==j)
continue;
System.out.println(“i=”+i+”j=”+j)
}
}
}
} 上面的JAVA代碼編譯運行后,下列選項中,()會出現(xiàn)在輸出結(jié)果中,(選擇三項)
A、i=0 j=3
B、i=0 j=0
C、i=2 j=2
D、i=0 j=2
E、i=1 j=2
22、如下Java代碼段,體現(xiàn)了()概念。(選擇一項)
.........
public void aMethod(String s){ .........}
public void aMethod(int i){.........}
public void aMethod(int I,float f){ .........}
.........
A、多繼承
B、重載
C、重寫
D、多態(tài)
23、java語言中,下列時處理輸出操作的所有類的基礎(chǔ)的是()(選擇一個)
A、DataOutput
B、OutputStream
C、BufferedOutputStream
D、IOStream
24、在jave中,類Worker是類Person的子類,Worker的構(gòu)造方法中有一句”super()”, 該語句 ( )。(選擇一項)
A、調(diào)用類Worker 中定義的super()方法
B、調(diào)用類Person中定義的super()方法
C、調(diào)用類Person的構(gòu)造函數(shù)
D、句法錯誤
25、在Java中,關(guān)于final關(guān)鍵字的說法正確的是()。(選擇兩項)
A、如果修飾變量,則一旦賦了值,就等同一個常量
B、如果修飾類,則該類只能被一個子類繼承
C、如果修飾方法,則該方法不能在子類中被覆蓋
D、如果修飾方法,則該方法所在的類不能被繼承
26、在Java中,下列選項表示字符”a”值的是().(選擇一項)
A、'a'
B、"a"
C、new Character(a)
D、\000a
27、給定java代碼片段,如下:
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a==b); 運行后,這段代碼將輸出()。(選擇一項)
A、true
B、false
C、0
D、1
28、Java程序中讀入用戶輸入的一個值,要求創(chuàng)建一個自定義的異常,如果輸入值大于10,使用throw語句顯式地引發(fā)異常,異常輸出信息為“something’s wrong!”,語句為()。(選擇一項)
A、if (I>10) throw Exception(“something’s wrong!”);
B、if (I>10) throw Exception e (“something’s wrong!”);
C、if (I>10) throw new Exception(“something’s wrong!”);
D、if (I>10) throw new Exception e (“something’s wrong!”);
29、42.給定兩個java程序,如下:Text.java的編譯運行結(jié)果是(). (選擇一項)
pubilc interface Face{ int count=40; }
pubilc class Text implements Face{
private static int counter;
pubilc static void main(String[]args){
System.out.println(++counter);
}
}
A、40
B、41
C、0
D、1
30、給定一個Java程序代碼,如下:運行編譯后,輸出結(jié)果是(). (選擇一項)
pubilc class Test{
int count = 9;
pubilc void count1(){
int count = 10;
System.out.println("count1"+count);
}
pubilc void count2(){
System.out.println("count2"+count);
}
pubilc static void main(String args[]){
Test t =new Twst();
t.count1();
t.count2();
}
}
A、count1=9 count2=9
B、count1=10 count2=9
C、count1=10 count2=10
D、count1=9 count2=10
31、給定java代碼如下:要使用這段代碼能夠編譯成功,橫線處可以填入().(選擇兩項)
pubilc int count(char c,int i,double d){ ??return______; ??}
A、c*i
B、c*(int)d
C、(int)c*d
D、i*d
32、 在 JAVA編程中,Java編譯器會將Java程序轉(zhuǎn)換為()。(選擇一項)
A、字節(jié)碼
B、可執(zhí)行代碼
C、機器代碼
D、以上所有選項都不正確
33、在J2EE中,下列元素經(jīng)過排序的集合類是()。(選擇一項)
A、LinkedList
B、Stack
C、Hashtable
D、TreeSet
34、分析下面的Java程序:
public class yy {
public static void main(String[] ards) throws Exception {
try {
throw new Exception();
}catch(Exception e){
System.out.println("Caught in main()");
}
System.out.println("nothing");
}
} 輸出結(jié)果為()。(選擇一項)
A、Caught in main() nothing
B、Caught in main()
C、nothing
D、沒有任何輸出
35、編譯并運行下面的Java代碼段:
char c='a'; switch (c) {
case 'a': System.out.println("a");
default: System.out.println("default");
} 輸出結(jié)果是()。(選擇一項)
A、代碼無法編譯,因為switch語句沒有一個合法的表達式
B、a default
C、a
D、default
36、在Java中,執(zhí)行下面的語句后,c的值為()。(選擇一項)
String s= "Jessica "; char c=s.charAt(6);
A、null www.87717.com
B、' '
C、'c '
D、'a '
37、在J2EE中,下面的代碼中出現(xiàn)編譯錯誤的是()。(選擇一項)
A、File f = new File("/","autoexec.bat");
B、DataInputStream din = new DataInputStream(
new FileInputStream("autoexec.bat"));
C、InputStreamReader in = new InputStreamReader(System.in);
D、OutputStreamWriter out = new OutputStreamWriter(System.in);
38、在JavaSwing編程中,要獲取每次選擇的JComboBox對象的選項值,可以使用()類型的監(jiān)聽器. (選擇兩項)
A、ActionListener
B、ltemListener
C、KeyListener
D、SelectionListener
39、在Java中,下面關(guān)于包的陳述中正確的是()。(選擇兩項)
A、包的聲明必須是源文件的第一句代碼
B、包的聲明必須緊跟在import語句的后面
C、只有公共類才能放在包中
D、可以將多個源文件中的類放在同一個包中
40、在Java中,要想使只有定義該類所在的包內(nèi)的類可以訪問該類,應(yīng)該用( )關(guān)鍵字。(選擇一項)
A、不需要任何關(guān)鍵字
B、private
C、final
D、protected
41、包pack1的類class1中有成員方法:
protected void method_1(){…}
private void method_2(){…}
public void method_3(){…}
void method_4(){…}, 在包pack2中的類class2是class1的子類,你在class2中可以調(diào)用方法()。(選擇兩項)
A、method_1
B、method_2
C、method_3
D、method_4
42、在Java語言中,小明在他的包mypackage中定義了類My_Class,在mypackage的子包mysubpackage中也有個類My_Class。小明用.import mypackage:引入包,執(zhí)行其中的語句:My_Class NewClass=New My_Class();時,將發(fā)生()。(選擇一項)
A、創(chuàng)建一個類mypackage.My_Class對象
B、創(chuàng)建一個類mypackage. Mysubpackage.My_Class的對象
C、該語句是錯誤的
D、創(chuàng)建一個類mypackage.My_Class的對象和一個類mypackage.
Mysubpackage.My_Class的對象
43、在JavaSwing編程中,給定一個java程序main方法的代碼片段如下:
JFrame jf=new JFrame();
jf.getContentpane().setLayout(null);
jf.setSize(200,200);
jf.setVisible(true); //a
要在界面上顯示如下組件,則應(yīng)在A處填入(). (選擇一項)
A、JTextArea text = text JTextArea(100,100);
text.setBounds(10,10,150,100); ???????jf.getContentpane().add(text);
B、JTextField text = text JTextField(100,100); ??JScrollpane text=new JScrollpane(text);
jf.setBounds(10,10,150,100);jf.getContentpane().add(jp);
C、JTextArea text = new JTextArea(100,1); ??JScrollpane jp=new JScrollpane(text);
jp.setBounds(10,10,150,100); ??jf.getContentpane().add(jp);
D、JTextArea text = new JTextArea(100,100);JScrollpane
jp=new JScrollpane(text); ????????jp.setBounds(10,10,150,100);
jf.getContentpane().add(jp);
44、在JAVA語言中,你的按鈕要實現(xiàn)下面的功能:當(dāng)鼠標按下按鈕時,顯示“鼠標已按下”;當(dāng)釋放按鍵時,顯示“鼠標已釋放”。你必須具體定義接口MouseListener的()方法。(選擇兩項)
A、mouseClicked
B、mouseEntered
C、mouseExited
D、mousePressed
E、mouseReleaseed
45、JAVA中,為了辨別用戶關(guān)閉窗口的時間,要實現(xiàn)監(jiān)聽器接口()。(選擇一項)
A、MouseListener
B、ActionListener
C、WindowListener
D、以上都要
46、在Java語言中,當(dāng)一個類的某個變量聲明為protected時下列說法正確的是()。(選擇兩項)
A、只有同一類中的成員才能訪問它
B、不同包中的任何其他類都能夠訪問它
C、同包中的任何其他類能夠訪問它
D、不同包中的子類可以訪問該變量
47、在Java事件處理模型中,當(dāng)按下鼠標按鈕時,處理()事件。(選擇一項)
A、mouseReleased
B、mouseExited
C、mousePressed
D、mouseDown
48、 String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String("0"); 上面是JAVA程序的一些聲明,以下選項中能夠通過編譯的是()。(選擇一項)
A、 s3=s1+s2
B、 s3=s1&s2
C、 s3=s1||s2
D、 s3=s1&&s2
49、在Java中,調(diào)用Math.random() 方法可能返回的結(jié)果是()。(選擇一項)
A、132.34
B、0.342
C、29.34E10
D、1.0009
50、 在Java語言中,Panel默認的布局管理器是()。(選擇一項)
A、BorderLayout
B、FlowLayout
C、GridLayout
D、GridBagLayout
51、public class MyClass1 {
public static void main(String argv[]){ ?}
______class MyInner{} } 在以上Java代碼的橫線上,可放置()修飾符。(選擇兩項)
A、public
B、private
C、implements
D、friend
52、在java中,下列賦值語句正確的是()。(選擇二項)
A、char c='a';
B、char c="a";
C、char c=97;
D、char c=new Character('a');
53、與傳統(tǒng)的過程編程不同,面向?qū)ο蠓椒ǖ闹饕枷胧牵ǎ?。(選擇兩項)
A、真實反映用戶的實際需求
B、將現(xiàn)實世界的一切抽象為實體或?qū)ο?/p>
C、將現(xiàn)實世界細分為一個過程化實現(xiàn)
D、將軟件組織成為對象的集合,將數(shù)據(jù)結(jié)構(gòu)和行為結(jié)合在一起
54、在Java中,根據(jù)你的理解,下列方法()可能是類Orange的構(gòu)造方法。(選擇3項)
A、Orange(){…}
B、Orange(…){…}
C、Public void Orange(){…}
D、Public Orange(){…}
E、Public Orange Constuctor(){…}
55、在Java中,()借口位于集合框架的頂層. (選擇一項)
A、Map
B、Collection
C、Set
D、List
56、給定某java程序片段,如下: int i=1; int j=i++; if((i>++j)&&(i++==j)) i+=j; System.out.println(i); 該程序運行后,i的輸出結(jié)果為()。(選擇一項)
A、1
B、2
C、3
D、4
57、在Java中,假設(shè)我們有一個實現(xiàn)ActionListener接口的類,以下方法中()能夠為一個Button類注冊這個類。(選擇一項)
A、addListener()
B、addActionListener()
C、addButtonListener()
D、setListener()
58、44.在JAVA中的布局管理器,以下說法中錯誤的是(). (選擇一項)
A、FlowLayout以由上到下的方式從左到右排列組件
B、BorderLayout使用 "東"."西"."南"."北","居中"來指定組件的位置
C、GridLayout可以創(chuàng)建網(wǎng)格布局,網(wǎng)格布局中各組的大小可以任意調(diào)整
D、可以通過容器的setLayout方法為容器指定布局管理
59、研究下面的Java代碼:
public class testException{
public static void main(String args[]){
int n[]={0,1,2,3,4};
int sum=0;
try {
for(int i=1;i<6;i++)
sum=sum+n[i];
System.out.println("sum="+sum);
} catch(ArrayIndexOutOfBoundsExpception e) {
System.out.println("數(shù)組越界");
} finally{
System.out.println("程序結(jié)束");
}
}
} 輸出結(jié)果將是()。(選擇一項)
A、10 數(shù)組越界 程序結(jié)束
B、10 程序結(jié)束
C、數(shù)組越界 程序結(jié)束
D、程序結(jié)束
三、判斷題
1.Java程序中的起始類名稱必須與存放該類的文件名相同。( )
2.Unicode是用16位來表示一個字的。( )
3.原生類中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。( )
四、問答題
1、在java中如果聲明一個類為final,表示什么意思?
2、父類的構(gòu)造方法是否可以被子類覆蓋(重寫)?
3、請講述String 和StringBuffer的區(qū)別。
4、如果有兩個類A、B(注意不是接口),你想同時使用這兩個類的功能,那么你會如何編寫這個C類呢?
5、結(jié)合Java多線程分析sleep()和wait()方法的區(qū)別。
6、談?wù)勀銓Τ橄箢惡徒涌诘睦斫狻?/p>
部分參考答案:
1、單選題
答案:B 答案:B 答案:C答案:A 答案:A 答案:C
答案:D 答案:A 答案:D [1-9題]
2、多選題
答案:BC 答案:BCD 答案:ACD 答案:BCD 答案:ACD
答案:ACD 答案:ACD答案:ABC 答案:BCD
3、判斷題
正確
正確
錯誤
下載完整面試題文件及答案:
https://www.duyunwl.cn/2019/03/08/java面試題大全/