Java日常练习题,每天进步一点点(54)

1、java有8种基本类型,请问byte、int、long、char、float、double、boolean各占多少个字节?

正确答案: B

1 2 8 2 4 8 1

1 4 8 2 4 8 1

1 4 4 2 4 4 2

1 4 4 2 4 8 2

题解:
我这里解释一下boolean占多大的空间,JVM规范给出的是4个字节也就是单个boolean当做int处理,boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,1个字节、4个字节都是有可能的。其实这就是运算效率与存储空间之间的博弈

2、在 Applet 中,方法执行的顺序是 ?( )

正确答案: A

init(), start(), paint(),stop(),destroy().

init(),paint(),start(),stop(),destroy().

paint(),start(),stop(),destroy().

init(), start(),stop(),destroy(),paint().

题解:
init 初始化,start启动运行,paint 窗口最小化等时候需要暂停,stop 停止,destory 销毁;

3、下面论述正确的是()?

正确答案: D

如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必然返回同样的值

如果a,b的hashcode相同,那么a.equals(b)必须返回true

对于一个类,其所有对象的hashcode必须不同

如果a.equals(b)返回true,那么a,b两个对象的hashcode必须相同

题解:
hashcode和equals的约定关系如下:
1、如果两个对象equals相等,那么他们一定有相同的哈希值(hash code)。
2、如果两个对象的哈希值相等,那么这两个对象有可能相等也有可能不相等。(需要再通过equals来判断)

4、在java中,下列对继承的说法,正确的是( )

正确答案: A

子类能继承父类的所有成员

子类继承父类的非私有方法和状态

子类只能继承父类的public方法和状态

子类只能继承父类的方法

题解:
我们有时候会分不清继承和访问权限的问题。子类可以继承父类所有的成员,但是对private这样的,没有访问权。

5、在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象

正确答案: C

Servlet对象

HTTP服务器

Web容器

JSP网页

题解:
web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。

6、对Collection和Collections描述正确的是

正确答案: B D

Collection是java.util下的类,它包含有各种有关集合操作的静态方法

Collection是java.util下的接口,它是各种集合结构的父接口

Collections是java.util下的接口,它是各种集合结构的父接口

Collections是java.util下的类,它包含有各种有关集合操作的静态方法

题解:
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

7、在 hibernate 开发中,关于 POJO 类对象的状态说法正确的是()。

正确答案: A B C

自由状态(Transient):实体在内存中自由存在,与数据库中的记录无关

持久状态(Persistent):实体处于由Hibernate框架所管理的状态,对应了数据库中的一条记录,同时与某个session实例发生了关联

游离状态(Detached):在session 关闭之后,可以使对象从持久状态转换到游离状态。

不能将对象从游离状态转换成持久态

题解:
游离状态 可以通过 update saveorupdate lock方法变成持久态

8、下列关于while循环、do-while循环和for循环说法错误的是

正确答案: B C

while循环先执行条件判断,do-while循环执行循环体

do-while循环结束的条件是关键字while后的条件表达式成立

for循环结构中的3个表达式缺一不可

while循环能够实现的操作,for循环也能实现

题解:
A.while只有在满足条件时执行 而do-while会先执行一次 再看条件是否满足 满足再次循环 不满足跳出
所以B也就错了 应该是 do-while循环结束的条件是关键字while后的条件表达式不成立
C. 三个都为空也是可以的 最简洁形式:for(;;
D. 我们使用while 就是为了他的循环次数的不一定的 而for循环一般限定了循环次数

9、关于下面这段Java程序,哪些描述是正确的:( )

public class ThreadTest extends Thread {

public void run() {

System.out.println(“In run”);

yield();

System.out.println(“Leaving run”);

}

public static void main(String []argv) {

(new ThreadTest()).start();

}

}

正确答案: C

程序运行输出只有In run

程序运行输出只有Leaving run

程序运行输出先有In run后有Leaving run

程序运行输出先有Leaving run后有In run

程序没有任何输出就退出了

程序将被挂起,只能强制退出

题解:
yield是线程礼让, 没有多个线程,不需要礼让

10、在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?

正确答案: B C

11

144

55

89

题解:
f(n)=f(n-2)+f(n-1),斐波那契数列。

答案汇总:

1、正确答案: B

2、正确答案: A

3、正确答案: D

4、正确答案: A

5、正确答案: C

6、正确答案: B D

7、正确答案: A B C

8、正确答案: B C

9、正确答案: C

10、正确答案: B C

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的:(Java日常练习题,每天进步一点点(54))