Java常見筆試題<三>

一、Servlet的生命週期能夠分爲初始階段、運行階段和銷燬階段,如下屬於初始階段的是:java

A、加載Servler類以及.calss對應的數據編程

B、建立servletRequest和servletResponse對象數組

C、建立ServletConfig對象併發

D、建立Servlet對象app

參考答案:ACD 工具

 

二、關於Java和C++的比較,說法錯誤的是:spa

A、Java不支持指針,C/C++支持線程

B、Java程序不須要顯式地關心內存釋放,而C/C++須要指針

C、Java和C++同樣,是純編譯語言,所以它們的class都是在編譯時靜態聯編(static binding)的code

D、Java數組、字符串不可能溢出,C/C++數組、字符串則可能溢出邊界

參考答案:CD

 

三、下面的這段代碼,說法錯誤的是:

1 public class Test5 { 2     public int x; 3     public static void main(String[] args){ 4         System.out.println("Value is " +x); 5  } 6 }

A、程序打印出「Value is 0」

B、程序會拋出NullPointerException

C、非靜態變量不可以被靜態變量引用

D、編譯器會拋出「possible reference before assignment」的錯誤

參考答案:C

 

四、下列Java代碼中的變量a、b、c分別在內存的哪一個存儲區存放

1 public class Test { 2     private String aString="aa"; 3     public boolean methodB(){ 4         String b="bb"; 5         final String c="cc"; 6         return true; 7  } 8 }

A、堆區、堆區、堆區          B、堆區、棧區、堆區           C、堆區、棧區、棧區

D、堆區、堆區、棧區          E、靜態區、棧區、堆區        D、靜態區、棧區、棧區

參考答案:C

分析:堆區:存儲的所有是對象,而且JVM中只有一個堆區被全部線程共享,只存放對象自己

         棧區:每一個線程都有一個棧區,保存基本類型的對象和自定義對象的引用

         靜態區:也叫方法區,跟堆同樣,被全部的線程共享,該區包含的是整個程序中惟一的元素,如class

 

五、關於下面的代碼片斷,說法正確的是:

1 byte b1=1,b2=2,b3,b6; 2 final byte b4=4,b5=6; 3 b6=b4+b5; 4 b3=(b1+b2); 5 System.out.println(b3+b6);

A、輸出結果:13

B、語句:b6=b4+b5編譯出錯

C、語句:b3=b1+b2編譯出錯

D、運行期拋出異常

參考答案:C

分析:須要強轉,即:b3=(byte) (b1+b2),(b1+b2)的值爲int型

 

六、下面那些是setVar的重載:

1 public class Test5 { 2     public void setVar(int a,int b,float c){
4  } 5 }

A、private void setVar(int a,float c,int b){}

B、protected void setVar(int a,int b,float c){}

C、public int setVar(int a,float c,int b){ return a;}

D、public int etVar(int a,float c){return a;}

參考答案:ACD

 

七、如下說法正確的是:

 1 public class Test5 {  2     public static void main(String[] args){  3          float f=42.0f;  4          float f1[]=new float[2];  5          float f2[]=new float[2];  6          float[] f3=f1;  7          long x=42;  8          f1[0]=42.0f;  9  } 10 }

A、f1==f2

B、x==f1[0]

C、f1==f3

D、f2==f1[1]

參考答案:BC

 

八、下列說法正確的是:

A、能被java.exe成功運行的java class文件必須有main()方法

B、J2SDK就是Java API

C、Appletviewer.exe可利用jar選項運行.jar文件

D、能被Appleviewer成功運行的java class文件必須有main()方法

參考答案:BCD

分析:J2SDK是編程工具,Appletviewer.exe用來解釋執行java applet應用程序的,Appletviewer成功運行的java class文件沒有main()方法

 

九、JDK提供的用於併發編程的同步器有:

A、Semaphore    B、CyclicBarrier    C、CoutDownLatch     D、Counter

參考答案:ABC

 

十、關於下面的程序,說法正確的是:

 1 public class Test5 {  2     public static void main(String[] args){  3          Boolean flag=false;  4          if(flag=true){  5              System.out.println("true");  6          }else{  7              System.out.println("false");  8  }  9  } 10 }

A、The code fails to complie at the "if" statement.

B、An exception is thrown at run-time at the "if" statement

C、The text "true" is displayed

D、The text "false" is displayed

參考答案:C

分析:boolean的默認值爲false,而flag=true爲賦值,即if(true)

相關文章
相關標籤/搜索