日常Java练习题(每天进步一点点系列)

简介: 日常Java练习题(每天进步一点点系列)

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

正确答案: B 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: A(正确)

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

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

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

子类只能继承父类的方法


题解:

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


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

正确答案: C 你的答案: C(正确)

Servlet对象

HTTP服务器

Web容器

JSP网页


题解:

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


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

正确答案: B D 你的答案: 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 你的答案: A B C (正确)

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

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

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

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


题解:

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


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

正确答案: B C 你的答案: 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 你的答案: C (正确)

程序运行输出只有In run

程序运行输出只有Leaving run

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

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

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

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


题解:

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


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

正确答案: B C 你的答案: 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


以上部分题解来自牛客评论区,感谢评论区大佬的解释。

相关文章
|
12天前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
19 1
|
12天前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
15 1
|
12天前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
14 2
|
1月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
61 0
|
2月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
24 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
2月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
25 0
java字符串练习题8、同构字符串
|
2月前
|
canal Java
java字符串练习题7、验证回文串
java字符串练习题7、验证回文串
36 0
|
2月前
|
Java
java字符串练习题6、最后一个单词的长度
java字符串练习题6、最后一个单词的长度
23 0
|
2月前
|
Java 测试技术
java字符串练习题5、罗马数字转整数
java字符串练习题5、罗马数字转整数
22 0
|
2月前
|
Java
java字符串练习题4、统计一行字符串中所有的字符类型数量
java字符串练习题4、统计一行字符串中所有的字符类型数量
27 0