Java基础笔试练习(六)

2.public class Interesting{

  1. // 省略代码

4.}

A.import java.awt.*;

B.package mypackage;

C.class OtherClass{ }

D.public class MyClass{ }

答案:

D

解析:

在同一个java原文件中,可以有多个class类,但是只有有一个公共的 public class

5.Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( )?


A.11 ,-11

B.11 ,-12

C.12 ,-11

D.12 ,-12

答案:

C

解析:

  • floor:意为地板,指向下取整,返回不大于它的最大整数

  • ceil:意为天花板,指向上取整,返回不小于它的最小整数

  • round:意为大约,表示“四舍五入”,而四舍五入是往大数方向入。

  • Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。

6.一个以“.java”为后缀的源文件


A.只能包含一个public类,类名必须与文件名相同

B.只能包含与文件名相同的public类以及其中的内部类

C.只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)

D.可以包含任意public类

答案:

C

解析:

.java文件可以包含多个类,唯一的限制就是:一个文件中只能有一个public类,并且此public类必须与文件名相同。而且这些类和写在多个文件中没有区别。

7.关于Float,下列说法错误的是() ?


A.Float是一个类

B.Float在java.lang包中

C.Float a=1.0是正确的赋值方法

D.Float a= new Float(1.0)是正确的赋值方法

答案:

C

解析:

1.Float是类,float不是类.

2.查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.

3.Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.

4.Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.

8.子类要调用继承自父类的方法,必须使用super关键字。


A.正确

B.错误

答案:

B

解析:

1、子类构造函数调用父类构造函数用super

2、子类重写父类方法后,若想调用父类中被重写的方法,用super

3、未被重写的方法可以直接调用。

9.下列属于容器的组件有()?


A.JButton

B.JPanel

C.Thread

D.JTextArea

答案:

B

解析:

JPanel是Java图形用户界面(GUI)工具包中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等,功能是对对窗体上的这些控件进行组合,相当于C++和C#中的Panel类。

10.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。


A.对

B.错

答案:

B

解析:

system是java.lang中的一个类,out是System内的一个成员变量,这个变量是一个java.io.PrintStream类的对象,println就是一个方法了。

11.正则表达式中,表示匹配非数字字符的字符是()?


A.\b

B.\d

C.\B

D.\D

答案:

D

解析:

大写表示“非”,d表示digit数字。非数字就是\D, w表示word,非单词就是\W

12.对于以下代码段,4个输出语句中输出true的个数是( )。


class A{}

class B extends A{}

class C extends A{}

class D extends B{}

A obj = new D();

System.out.println(obj instanceof B);

System.out.println(obj instanceof C);

System.out.println(obj instanceof D);

System.out.println(obj instanceof A);

A.1

B.2

C.3

D.4

答案:

C

解析:

D属于B,D属于A,D属于D,D不属于C.所以选C

13.在Java中,HashMap中是用哪些方法来解决哈希冲突的?


A.开放地址法

B.二次哈希法

C.链地址法

D.建立一个公共溢出区

答案:

C

解析:

以上方法都是解决哈希填冲突的策略,但是在java.util.HashMap中,总体来说是使用的链地址法来解决冲突的。

当然了,使用链地址法会导致get的效率从o(1)降至o(n),所以在Java8中,使用的是平衡树来解决提高效率的。

14. 关于匿名内部类叙述正确的是? ( )


A.匿名内部类可以继承一个基类,不可以实现一个接口

B.匿名内部类不可以定义构造器

C.匿名内部类不能用于形参

D.以上说法都不正确

答案:

B

解析:

由于构造器的名字必须与类名相同,而匿名类没有类名,所以匿名类不能有构造器。

15.下下面哪一项不是加载驱动程序的方法?


A.通过DriverManager.getConnection方法加载

B.调用方法 Class.forName

C.通过添加系统的jdbc.drivers属性

D.通过registerDriver方法注册

答案:

A

解析:

DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的

16.关于以下代码的说明,正确的是()?


1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. System.out.println(“x=” + x);

8. }

9. static { x/=3;}

  1. }

A.4行与9行不能通过编译,因为缺少方法名和返回类型

B.9行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

答案:

C

解析:

先执行:

1 static int x = 10;

再执行两个静态块:

1 static { x+=5; }

2 static { x/=3; }

最后执行main():

1 System.out.println(“x=” + x);

所以x = 10 -> x = x +5 = 15 -> x = x / 3 = 5 打印x=5

17.以下集合对象中哪几个是线程安全的()?


A.LinkedList

B.ArrayList

C.Vector

D.Hashtable

答案:

C D

解析:

简单记忆线程安全的集合类:喂!SHE! 喂是指vector,S是指stack,H是指hashtable,E是指:Eenumeration

18.下面哪些可能是重载的基本条件()(注意:是可能为重载的基本条件)


A.参数的类型不同

B.参数的顺序不同

C.函数的返回值类型不同

D.参数的个数不同

答案:

A B D

解析:

重载的概念是:

方法名称相同,参数个数、次序、类型不同

因此重载对返回值没有要求,可以相同,也可以不同

但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载

19.下面有关 java 类加载器,说法正确的是?()


A.引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的

B.扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值