首页 > 代码库 > Java笔试题

Java笔试题

所有内容都是在网上查找的

1.下面哪些是Thread类的方法?

A.Start()  B.run()方法  C.exit()方法  D. getPriority()方法

解析:exit()方法 是 System类的方法

 

2.GC线程是否为守护线程?

答:是

解析:线程分为(1)守护线程(2)非守护线程

  只要当前jvm尚存任何一个非守护线程,守护线程就全部工作。

 

3.Volatile关键字是否能保证线程安全?

答:不能

解析:Volatile关键字用在多线程同步,可保证读取的可见性。

 

4.存在使 i+1<i的数么?

答:存在

解析:如果i为int型,那么当i为 int 能表示的的最大整数时,i+1就溢出变成为负数。

 

5.0.6332的数据类型是?

A float  B double  C Float  D Double

答:B

解析:浮点型数默认为 double类型,若为float类型 要加上 f。 如: 0.6332f

 

6.不通过构造函数也能创建对象么?

答:是

解析:java创建对象的几种方式(重要)

(1)使用new语句创建对象。

(2)运用反射手段。调用java.lang.class 或 java.lang.reflect.Constructor类的 newInstance()方法。

(3)调用对象的clone()方法。 在内存上对已有对象的影印。

(4)运用反序列化手段。从文件中还原类的对象。

 

7.ArrayList list = new ArrayList(20);中的list扩充几次?
A 0  B 1  C 2    D 3

答:A

解析:默认ArrayList的长度是10个,如果往list里添加20个元素,肯定要扩充一次。 但是这里显示指明了需要多少空间,所以一次性分配了这么多空间

  不需要扩充。

 

8.下面哪些是对称加密算法?

A DES  B AES   C DSA   D RSA

答: AB

 

9.java中有没有goto?

  有,为保留字,但尚未使用。

 

10.Set里的元素是不能重复的,那么用什么方法来区分重复与否? == 还是 equals(),它们有什么区别?

答:Set里的元素不能重复,用 iterator()方法来区分重复与否。

  equals()方法是判断两个 Set 是否相等。

  == 比较内存地址;equals()比较内容

 

11.List,Set,Map是否继承自 Collection接口?
答: List Set继承自Collection接口; Map不是。

 

12.接口是否可以继承接口? 抽象类是否可以实现接口? 抽象类是否可以继承实体类?

答: 接口可以继承接口    抽象类可以实现接口    抽象类可以继承实体类;但是前提是实体类有明确的构造函数。

 

13.构造器 ConStructor 是否可以被 Override 重写?

答:构造器ConStrucot不能被继承,因此不能被重写。

  但是可以被重载。

 

14.是否可以继承 String类?

答:不能

解析:String类时 final 类,因此不能被继承。

 

15.try{}中有一个 return 语句,那么紧跟在try{}后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?

答:会执行,在return前执行。

解析:无论如何,finally{}块里的code都会被执行。

 

16.使用最有效率的方法,算出 2乘以8等于多少?

答: 2<<3  位运算

 

17.当一个对象被当做参数传递到一个方法后,此方法可改变这个对象的属性,并返回变化后的结果。那么这里用的是值传递,还是引用传递?

答:是值传递。  

解析:Java中只有值传递参数。 当一个对象实例作为参数,传递到方法时,参数的值就是对对象的引用。 对象的内容可以在被调用

方法中改变,但对象的引用永远不会变。

 

18.GC是什么?为什么要有GC?

答:GC是垃圾回收器; 内存处理是编程人员容易出现的问题,忘记或错误的内存回收会导致系统不稳定,甚至崩坏。

 

19.float型 float f = 3.4是否正确?

答:不正确。

解析:精度不准确,应用强制类型转换。 float f = (float)3.4

 

20.String与Stringbuffer的区别?

答:String的长度是不可变的,Stringbuffer的长度是可变的。

  如果对字符串中的内容经常进行操作,特别是内容要修改,那么用Stringbuffer。若是最后需要String,使用 toString()方法转化。

 

21.String是java基本数据类型么?

答:不是

解析:八大基本数据类型: 整型: byte short int long

            浮点型:float double

            字符型: char

            布尔型:boolean

 

22.以下属于面向对象特征的是?

A 重载  B 重写  C 封装  D继承

答:CD

解析:java面向对象的特征(1)封装(2)继承(3)多态

 

23.多态的表现形式?

A 重写  B 抽象  C 继承  D 封装

答:A

解析:多态的表现形式有两种:

(1)重写     父类与子类间的多态性

(2)重载  一个类中的多态性  

 

24.以下对重载描述错误的是?

A 方法的重载只能发生在一个类内部。

B 构造方法不能重载

C 重载要求方法名相同,参数列表不同。

D 方法的返回值类型,不是区分方法重载的条件。

答:B

解析:构造方法不能被继承,所以不能被重写。

  但是可以被重载。

 

25.以下对抽象类描述正确的是?

A 抽象类中没有构造方法

B 抽象类必须提供抽象方法

C 有抽象方法的类一定是抽象类

D 抽象类可以通过new实例化

答:C

解析:有抽象方法的类一定是抽象类, 抽象类不一定有抽象方法。

 

26.以下对接口描述错误的是?

A 接口没有提供构造方法

B 接口中的方法 默认使用 public abstract 修饰

C 接口中的属性 默认使用 public static fina修饰

D 接口不允许多继承

答:D

解析:java中支持 单继承 多实现

 

27.接口和抽象类描述正确的有?

A 抽象类没有构造方法

B 接口没有构造方法

C 抽象类不允许多继承

D 接口中的方法可以有方法体

答:BC

 

28.以下描述错误的是:

A abstract  可以修饰类、接口、方法

B abstract 修饰的类主要用于被继承。

C abstract 可以修饰变量

D abstract 修饰的类的子类也可以是 abstract 类

答:C

 

29.以下描述正确的是?

A 方法的重写应用在一个类内部

B 方法的重载与返回值类型无关。

C 构造方法不能重载

D 构造方法可以重写

答:B

 

30.以下对异常的描述不正确的是?

A 异常分为 Error 和 Exception

B Throwable 是所有异常的父类

C Exception 是所有异常的父类

D Exception 包括 RuntimeException 和 非 RuntimeException

答:C

解析:              Throwable

            Error          Exception

                     RuntimeException   其他

 

31.在 try - catch- finally 语句块中,以下可以单独和 finally一起使用的是?

A catch   B try  C throws   D throw

答:B

 

32.以下描述错误的是?

A try 块不能省  B 可以使用多重catch块   C finally块可以省略  D catch块和finally块可以同时省略

答:D 

解析: try catch 或 try finally 或 try catch finally 

 

33.java.lang包的  方法,比较两个对象是否相等?相等返回值 true

A toString  B equals()  C Compare()  D以上的不正确

答:B

解析:equals()方法比较内容是否相同。

 

34.使用   方法可以获得Calendar类的实例?

A get   B equals  C getTime  D getLnstance

答:D

 

35.下写说法正确的有?

A class中的 Constructor不可省略。

B Constructor必须与类同名,方法不能与类同名。

C Constructor在一个对象new 时执行。

D 一个class只能定义一个Constructor.

答:C

解析:普通方法可与类同名。

 

36.java是从   语言改进重新设计的。

A Ada  B c++  C Pasacal  D BASIC

答:B

 

37.下列语句哪一个正确?

A java程序编译后会产生 machine code

B java程序变编译后会产生 byte code

C java程序编译后会产生 DLL

D 以上都不正确

答:B

 

38.提供java存取数据库能力的包是?

A java.sql  B.java.awt  Cjava.lang  D java.swing

答:A

 

39.下列哪一种叙述正确?

A abstract修饰符可以修饰 字段、方法、类

B 抽象方法的body部分必须用 {}包住。

C 声明抽象方法 {}可有可无

D 声明抽象方法,不可写出{}

答:D

解析:abstract不能修饰字段,抽象方法没有方法体。

 

40.不能用来修饰interface的有?

A private   B public    C protected   Ds tatic

答:ACD

解析:interface 只能是public,加不加修饰符都是public

 

备注:java程序中的起始类名必须与存放该类的文件名相同。

  Unicode是用16位表示一个字的。  一个汉字占2个字节,一个字节 8 位。

Java笔试题