2020-3-5 牛客试题复盘

1、在jdk1.5之后,下列 java 程序输出结果为______。    B

A、true,false
B、true,true
C、false,true
D、false,false
E、对于不同的环境结果不同
F、程序无法执行

解析:

对于第一个结果是true的原因是应该jdk1.5之后引入的自动装箱和自动拆箱特性。

2、关于Java以下描述正确的有(   D   )

A、native关键字表名修饰的方法是由其它非Java语言编写的
B、能够出现在import语句前的只有注释语句
C、接口中定义的方法只能是public
D、构造方法只能被修饰为public或者default

3、有关hashMap跟hashTable的区别,说法正确的是?  ABCD

A、HashMap和Hashtable都实现了Map接口
B、HashMap是非synchronized,而Hashtable是synchronized
C、HashTable使用Enumeration,HashMap使用Iterator
D、HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。

4、下列说法错误的有( ABCD)

A、Java面向对象语言容许单独的过程与函数存在
B、Java面向对象语言容许单独的方法存在
C、Java语言中的非静态方法属于类中的成员(member)
D、Java语言中的方法必定隶属于某一类(对象),调用方法与C语言的过程或C++语言的函数相同

5、下面的switch语句中,x可以是哪些类型的数据:(BD)

switch (x)
{
default :
System.out.println( "Hello" );
}

 

A、long
B、char
C、float
D、byte
E、double
F、Object

解析:在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,也支持了String类型

String byte short int char Enum 类型

6、一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。(  A)

A、正确
B、错误

7、instanceof运算符能够用来判断一个对象是否为:  C

A、一个类的实例
B、一个实现指定接口的类的实例
C、全部正确
D、一个子类的实例

8、对于Java中异常的描述正确的是( D )

A、用throws定义了方法可能抛出的异常,那么调用此方法时一定会抛出此异常。
B、如果try块中没有抛出异常,finally块中的语句将不会被执行。
C、抛出异常意味着程序发生运行时错误,需要调试修改
D、Java中的可不检测(unchecked)异常可能来自RuntimeException类或其子类。

解析:

运行时异常,Java编译器不会检查它。

8、以下说法中正确的有? AD

A、StringBuilder是 线程不安全的
B、Java类可以同时用 abstract和final声明
C、HashMap中,使用 get(key)==null可以 判断这个Hasmap是否包含这个key
D、volatile关键字不保证对变量操作的原子性

9、下面关于volatile的功能说法正确的是哪个  BC

A、原子性
B、有序性
C、可见性
D、持久性

10、下列说法正确的是  C

A、java中包的主要作用是实现跨平台功能
B、package语句只能放在import语句后面
C、包(package)由一组类(class)和接口(interface)组成
D、可以用#include关键词来标明来自其它包中的类

11、关于final说法正确的是?  ( B)

A、final类的方法肯定不能被同一个包的类访问
B、final类的方法能否被同一个包的类访问不是由final决定
C、final方法等同于private方法
D、final对象本身的引用和值都不能改变
 
 
12、关于运行时常量池,下列哪个说法是正确的  BCD
A、运行时常量池大小受栈区大小的影响
B、运行时常量池大小受方法区大小的影响
C、存放了编译时期生成的各种字面量
D、存放编译时期生成的符号引用

13、以下程序执行后,错误的结果是(ABC)

public class Test {
     private String name =  "abc" ;
     public static void main(String[] args) {
         Test test =  new Test();
         Test testB =  new Test();
         String result = test.equals(testB) +  "," ;
         result += test.name.equals(testB.name) +  "," ;
         result += test.name == testB.name;
         System.out.println(result);
     }
}
 
A、true,true,true
B、true,false,false
C、false,true,false
D、false,true,true

解析:

猜你喜欢

转载自www.cnblogs.com/buhuiflydepig/p/12419691.html