java面試筆試試題http://www.jobui.com/mianshiti/it/java/6827/

@ 小浩發表於2013-10-30

一.判斷題(每題1分,共10分)
1.Applet是一種特殊的Panel,它是Java Applet程式的最外層容器。()
2.Java的原始碼中定義幾個類,編譯結果就生成幾個以.class為字尾的位元組碼檔案。()
3.Java程式裡,建立新的類物件用關鍵字new,回收無用的類物件使用關鍵字free。()
4.Java有垃圾回收機制,記憶體回收程式可在指定的時間釋放記憶體物件。()
5.建構函式用於建立類的例項物件,建構函式名應與類名相同,返回型別為void。()
6.在異常處理中,若try中的程式碼可能產生多種異常則可以對應多個catch語句,若catch中的引數型別有父類子類關係,此時應該將父類放在後面,子類放在前面。()
7.擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。()
8.Java的螢幕座標是以畫素為單位,容器的左下角被確定為座標的起點。()
9.靜態初始化器是在其所屬的類載入記憶體時由系統自動呼叫執行。()
10.在Java中物件可以賦值,只要使用賦值號(等號)即可,相當於生成了一個各屬性與賦值物件相同的新物件。()
二.單項選擇題(每題2分,共40分)
1.Java application中的主類需包含main方法,以下哪項是main方法的正確形參?()
A、 String args B、String ar[] C、Char arg D、StringBuffer args[]
2.以下關於繼承的敘述正確的是()。
A、在Java中類只允許單一繼承
B、在Java中一個類只能實現一個介面
C、在Java中一個類不能同時繼承一個類和實現一個介面
D、在Java中介面只允許單一繼承
3.paint()方法使用哪種型別的引數? ()
A、Graphics B、Graphics2D C、String D、Color
4.以下哪個不是Java的原始資料型別()
A、int B、Boolean C、float D、char
5.以下哪項可能包含選單條()。
A、Panel B、Frame C、Applet D、Dialog
6.若需要定義一個類域或類方法,應使用哪種修飾符?()
A、static B、package C、private D、public
7.在瀏覽器中執行applet 程式,以下選項中的哪個方法將被最先執行()。
A、init() B、start() C、destroy() D、stop()
8.給出下面程式碼,關於該程式以下哪個說法是正確的?()
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]); }
}
A、編譯時將產生錯誤 B、編譯時正確,執行時將產生錯誤
C、輸出零 D、輸出空

9.下列哪些語句關於Java記憶體回收的說明是正確的? ()
A、程式設計師必須建立一個執行緒來釋放記憶體
B、記憶體回收程式負責釋放無用記憶體
C、記憶體回收程式允許程式設計師直接釋放記憶體
D、記憶體回收程式可以在指定的時間釋放記憶體物件
10.以下哪個關鍵字可以用來對物件加互斥鎖?()
A、transient B、synchronized C、 serialize D、static
11.以下程式碼段執行後的輸出結果為()
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
12.有以下程式片段,下列哪個選項不能插入到行1。()
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
13. 設有下面兩個賦值語句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述說法正確的是()。
A、a是整數型別變數,b是整數類物件。B、a是整數類物件,b是整數型別變數。
C、a和b都是整數類物件並且值相等。 D、a和b都是整數型別變數並且值相等。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父類,以下哪個類可能是FilterOutputStream建構函式的引數型別?
A、OutputStream B、File C、InputStream D、BufferedOutputStream
15.在編寫Java Applet程式時,需在程式的開頭寫上( )語句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
16.類Parent、Child定義如下:
1. public class Parent
2.{ public float aFun(float a, float b) throws
3. IOException { }
4.}
5.public class Child extends Parent{
6.
7.}
將以下哪種方法插入行6是不合法的。()
A、float aFun(float a, float b){ }
B、public int aFun(int a, int b)throws Exception{ }
C、public float aFun(float p, float q){ }
D、public int aFun(int a, int b)throws IOException{ }
17.在使用interface宣告一個介面時,只可以使用()修飾符修飾該介面。

A、private B、protected C、private protected D、public
18、有以下方法的定義,請選擇該方法的返回型別()。
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
19、關於以下程式碼段的說法正確的是()
1.String s=”abcde”;
2.StringBuffer s1=new StringBuffer(“abcde”);
3.if(s.equals(s1))
4. s1=null;
5.if(s1.equals(s))
6. s=null;
A、第1行編譯錯誤,String的構造器必須明確呼叫
B、第3行編譯錯誤,因為s與s1有不同的型別
C、編譯成功,但執行時在第5行有異常丟擲
D、編譯成功,過程中也沒有異常丟擲
20、編譯並執行以下程式,以下描述哪個選項是正確的()
1. class X{
2. protected String toString(){
3. return super.toString();}
4. }
A、編譯通過執行無異常 B、編譯通過但執行時出錯
C、行2出錯,不能成功編譯 D、不能成功編譯,行3出錯
三.程式閱讀題(每題4分,共36分)
1.以下程式的輸出結果為。
class StringTest1
{
public static void main(String[] args)
{
String s1=”hello”;
String s2=new String(“hello”);
if(s1.equals(s2)){
System.out.println(“相等”);
}else{
System.out.println(“不相等”);
}
}
}
2.以下程式段的輸出結果為。
public class TestArray
{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 5,9,6,8,7};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]<a[k] ) k = j;
int temp =a;
a = a[k];
a[k] = temp;
}
for ( i =0 ; i<a.length; i++ )
System.out.print(a+” “);
System.out.println( );
}
}

3.寫出以下程式的功能。
import java.io.*;
public class TestFile
{
public static void main(String args[]) throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt”));
String s;
while (true)
{
System.out.print(“請輸入一個字串: “);
System.out.flush();
s=br.readLine();
if (s.length()==0) break;
bw.write(s);
bw.newLine();
}
bw.close();
}
}
4.閱讀以下程式:
class Exp1
{
public static void main(String[] args)
{
String s,s1=”";
char c;
s=args[0];
for (int i=0;i<s.length();i++)
{
c=s.charAt(i);
if(c>=’a’ && c<=’z'){
s1=s1+Character.toUpperCase(c);
}else{
s1=s1+Character.toLowerCase(c);
}
}
System.out.println(s1);
}
}
若在dos命令列輸入:java Exp1 abcDEF,則輸出為。

5.以下程式段的輸出結果為。
import java.util.*;
public class VecApp {
public static void main(String[] args) {
Vector v = new Vector();
for(int i = 0; i <2; i++)
v.addElement(“v”+i);
v.insertElementAt(new Integer(1),0);
Enumeration e = v.elements();
while(e.hasMoreElements())
System.out.print(e.nextElement()+” “);
System.out.println();
v.removeElement(“v1″ );
for(int i = 0; i < v.size() ; i++)
System.out.print(v.elementAt(i) +” “);
System.out.println();
}
}
6.以下程式段的輸出結果為。
class IntORString{
void iosM( int i ){
System.out.print(“integer ”);
}
void iosM(String s){
System.out.print(“String ”);
}
public static void main(String args[ ])
{
IntORString ios=new IntORString ( );
ios.iosM(‘a’);
ios.iosM(“1”);
}
}
7.閱讀以下程式,寫出輸出結果。
class Animal {
Animal() {
System.out.print (“Animal “); }
}
public
class Dog extends Animal {
Dog() {
System.out.print (“Dog “); }

public static void main(String[] args) {
Dog snoppy= new Dog(); }
}
8.寫出以下程式的執行結果。
import java.io.*;
public class ATest{
public static void main(String args[]) {
SubClass sb = new SubClass( );
System.out.println(sb.fun( ));
}
}
class SuperClass{
int a =24 , b =5 ;
}
class SubClass extends SuperClass{
int fun( ) { return a%b; }
}
9.寫出以下程式的執行結果。
public class TryCatchFinally{
static void Proc( int sel ){
try{
if( sel==0 ){System.out.println(“no Exception “);
return;}
else if( sel==1 ){ int i=0; int j=4/i;}
}
catch( ArithmeticException e ) {
System.out.println(“Catch “); }
catch( Exception e ) {
System.out.println(“Will not be executed”);}
finally{
System.out.println(“finally”); }
}
public static void main( String args[] ){
Proc( 0 ); Proc( 1 ); }
}
四.程式設計題(第1題6分,第2題8分,共14分)
1.(6分) 編寫一個輸出”Hello World!”的程式,用兩種方式實現(Application、Applet)。
①Application(2分)

②Applet(4分)

2.(8分) 用輸入/輸出寫一個程式,讓使用者輸入一些姓名和電話。每一個姓名和電話將加在檔案裡。使用者通過輸入”quit”來告訴系統整個列表已輸入完畢。如果使用者輸完整個列表,程式將建立一個輸出檔案phoneno.dat。
檔案phoneno.dat中的資料格式如:
88078549,張三
12345678-123,李四

相關文章