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
解析: