一份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】首发,转载请注明出处

原文 

https://segmentfault.com/a/1190000021040179

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 一份Java基础知识笔试题附答案

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址