一份Java基础知识笔试题附答案

如果运行JavaDemo,什么样的信息会打印出来?

 1/**
 2如果运行JavaDemo,什么样的信息会打印出来?
 3*/
 4public class Demo {
 5  public static void main(String[] args) {
 6    Integer intObj = Integer.valueOf(args[args.length -1]);
 7    int i = intObj.intValue();
 8    if (args.length > 1){
 9      System.out.println(i);
10    }
11    if (args.length > 0){
12      System.out.println(i-1);
13    }else {
14      System.out.println(i-2);
15    }
16  }
17}
请选择:
(A)       Demo
(B)       Demo -1
(C)       0
(D)      -1

正确答案:    D

以下那些是不合法的变量名?

(a)lapha    (a)_abcd
(c)xy+abc    (d)transient
(e)account-num    (f)vert_long_name
请选择:
(A)     a.c,e    
(B)     a,c,d,e     
(C)     c,d,e,f  
(D)     全部
正确答案:    D

虽然这些变量名有些可以使用,但是根据标识符硬性要求,必须满足的规范有如下几点
标识符可以包含字符例如英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。
标识符不能以数字开头。
标识符不能是关键字。
标识符是严格区分大小写的

运行以下代码会输出什么信息?

 1/**
 2运行以下代码会输出什么信息?
 3*/
 4 static class Test{
 5    static int i ;
 6    public static void main(String[] args) {
 7      while (i < 0){
 8        i--;
 9      }
10      System.out.println(i);
11    }
12  }
13}
(A)    无法编译,因为i没有初始化
(B)    可以编译,但无法运行
(C)    可编译运行,不输出任何信息
(D)    程序输出0
正确答案:     D

以下代码会输出什么信息?

 1/**
 2运行以下代码会输出什么信息
 3*/
 4  static class Test2{
 5    public static void main(String[] args) {
 6      int i = 0;
 7      boolean t = true;
 8      boolean f = false,b;
 9      b = (t || ((i++) == 0));
10      b = (f || ((i += 2) > 0 ));
11      System.out.println("i = " + i);
12    }
13  }
14}
(A)    0
(B)    1
(C)    2
(D)    3
正确答案:     D

以下代码会输出什么信息?

 1/**
 2以下代码会输出什么信息?
 3*/
 4  static class Test3{
 5    public static void main(String[] args) {
 6      int i,j,k,l = 0;
 7      k = l++;
 8      j = ++k;
 9      i = j++;
10      System.out.println("i = " + i);
11    }
12  }
(A)    0
(B)    1
(C)    2
(D)    3
正确答案:     B

下面那个方法修饰符标识的方法可以被同一包内的类和子类所访问?
(A) public
(B) protected
(C) private
(D) default
正确答案: A

阅读下面的代码片段,选择正确的答案
 1/**
 2阅读以下代码片段,选择正确的答案
 3*/
 4  static class Test4{
 5    public static void main(String[] args) {
 6      Integer num1 = 10;
 7      Integer num2 = Integer.valueOf(10);
 8      Integer num3 = new Integer(10);
 9      if (num1 == num2){
10        System.out.println("Equal");
11      }else {
12        System.out.println("Not Equal");
13      }
14      if (num1 == num3){
15        System.out.println("Equal");
16      }else {
17        System.out.println("Not Equal");
18      }
19    }
20  }
请选择:
(A)   输出Equal
(B)   输出Equal ,Not Equal
(C)   输出 Not Equal,Equal
(D)   输出Not Equal,,Not Equal
正确答案:        B

下面代码执行后,变量number的值是多少?

 1/**
 2下面代码执行后,变量nunber的值是多少?
 3*/
 4  static class  Test5 {
 5    public static void main(String[] args) {
 6      int number = 0;
 7      int number2 = 12;
 8      while (number < number2) {
 9        number = number +1;
10      }
11      System.out.println("number = " + number);
12    }
13  }
14}
请选择:
(A)   输出5
(B)   输出12
(C)   输出13
(D)   输出21
正确答案:    B

下面那两个语句是等效的?

 1/**
 2那两个语句是等效的?
 3*/
 4  static  class Test6{
 5    public static void main(String[] args) {
 6      System.out.println(16*4);
 7      System.out.println(16 >> 2);
 8      System.out.println(16/2^2);
 9      System.out.println(16>>>2);
10    }
11  }
12}
请选择:
(A)   1 和 2
(B)   2 和 4
(C)   3 和 4
(D)   1 和 3
正确答案:     B

以下代码的输出结果是?

 1/**
 2以下代码的输出结果是?
 3*/
 4  static class Test7{
 5    public static void main(String[] args) {
 6      String a = "newspaper";
 7      a = a.substring(5,7);
 8      char b = a.charAt(1);
 9      a = a + b;
10      System.out.println("a = " + a);
11    }
12  }
请选择:
(A)   apa
(B)   app
(C)   apea
(D)   apep
正确答案:     B

阅读下列代码,回答问题,当运行完第6行代码之后,有多少对象可能被垃圾回收?

 1 static class X{
 2    public static void main(String[] args) {
 3      X x = new X();
 4      X x2 = mi(x);
 5      X x4 = new X();
 6      doComplexStuff();
 7    }
 8    private static void doComplexStuff() {
 9
10    }
11    private static X mi(X mx) {
12      mx= new X();
13      return mx;
14    }
15  }
16}
请选择:
(A)    0
(B)   1
(C)   2
(D)   3
正确答案:     B
阅读下面的代码,如果编译运行程序,会显示什么?请选择正确的答案
1static class Test8{
2  public static void main(String[] args) {
3    Dog[][] theDogs = new Dog[3][];
4    System.out.println(theDogs[2][0].toString());
5  }
6}
请选择:
(A)    null
(B)   theDogs
(C)   编译错误
(D)   运行时异常
正确答案:    C

下面那三个语句是正确的?

1float f1 = -343;
2float f2 = 3.14;
3float f3 = 0*12345;
4float f4 = 42e7;
5float f5 = 2001.0D;
6float f6 = 2.18F;
请选择:
(A)   1,2,4
(B)   2,3,5
(C)   1,3,6
(D)   2,4,6
正确答案:    C

请选择程序的输出结果

 1static  class Test10{
 2  public static void main(String[] args) {
 3    int i = 1,j = 10;
 4    do {
 5      if (i > j){
 6        break;
 7      }
 8      j--;
 9    }while (++i < 5 );
10    System.out.println("i = " + i + "and j = " + j);
11  }
12}
请选择:
(A)  i = 6 and j = 5
(B)  i = 5 and j = 5
(C)  i = 6 and j = 4
(D)  i = 5 and j = 6
正确答案:    D

如果想存储元素在集合中无重复而且可以通过他们的自然顺序访问,下面那个接口可以满足条件?
请选择:
(A) java.util.Map;
(B) java.util.Set;
(C) java.util.List;
(D) java.util.Collection
正确答案: B

下面程序输出的结果是什么?
 1static  class Test11{
 2  public static void main(String[] args) {
 3    int x = 0;
 4    int y = 0;
 5    for (int i = 0; i < 5; i++) {
 6      if ((++x > 2) || (++y >2)){
 7        x++;
 8      }
 9    }
10    System.out.println(x + "" + y);
11  }
12}
请选择:
(A)    5 3
(B)    8 2 
(C)    8 3 
(D)    8 5 
正确答案:    B

下面那句话是正确的?
请选择:
(A) notfyAll()方法只能在同步上下文中调用
(B) 一个线程必须拥有同步锁才能调用wati()
(C) notifyAll()方法是在Java.lang.Trread中定义的
(D) notify()方法会使用一个线程立即释放锁
正确答案: B

以下程序输出的结果是什么?

 1public class Demo4 extends Thread{
 2  final StringBuffer sb1 = new StringBuffer();
 3  final StringBuffer sb2 = new StringBuffer();
 4
 5  public static void main(String[] args) {
 6    final Demo4 h = new Demo4();
 7    new Thread(){
 8      @Override
 9      public void run() {
10        synchronized (this){
11          h.sb1.append("A");
12          h.sb2.append("B");
13          System.out.println(h.sb1);
14          System.out.println(h.sb2);
15        }
16      }
17    }.start();
18    new Thread(){
19      @Override
20      public void run() {
21        synchronized (this){
22          h.sb1.append("D");
23          h.sb2.append("C");
24          System.out.println(h.sb2);
25          System.out.println(h.sb1);
26        }
27      }
28    }.start();
29  }
30}
请选择:
(A)    ABBCAD
(B)    ABCBCAD
(C)    CDADACB
(D)    无法确定
正确答案:    A
本文由公众号【框架师 ,ID:mohu121】首发,转载请注明出处

你可能感兴趣的