首页 > 代码库 > Java常见笔试题<三>

Java常见笔试题<三>

1、Servlet的生命周期可以分为初始阶段、运行阶段和销毁阶段,以下属于初始阶段的是:

A、加载Servler类以及.calss对应的数据

B、创建servletRequest和servletResponse对象

C、创建ServletConfig对象

D、创建Servlet对象

参考答案:ACD 

2、关于Java和C++的比较,说法错误的是:

A、Java不支持指针,C/C++支持

B、Java程序不需要显式地关心内存释放,而C/C++需要

C、Java和C++一样,是纯编译语言,因此它们的class都是在编译时静态联编(static binding)的

D、Java数组、字符串不可能溢出,C/C++数组、字符串则可能溢出边界

参考答案:CD

3、下面的这段代码,说法错误的是:

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

4、下列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

5、关于下面的代码片段,说法正确的是:

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型

6、下面那些是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

7、以下说法正确的是:

 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

8、下列说法正确的是:

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()方法

9、JDK提供的用于并发编程的同步器有:

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

参考答案:ABC

10、关于下面的程序,说法正确的是:

 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)

Java常见笔试题<三>