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

1、Java中所有类的父类是( )。
正确答案: D 你的答案: D (正确)
Father
Dang
Exception
Object

题解:
Object是所有java类的父类

2、Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).
正确答案: C 你的答案: C (正确)
11 ,-11
11 ,-12
12 ,-11
12 ,-12

题解:
round方法,表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11

3、选项中哪一行代码可以替换 //add code here 而不产生编译错误
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
正确答案: A 你的答案: A (正确)
public abstract void method(int a);
consInt=constInt+5;
public int method();
public abstract void anotherMethod(){}

题解:
A是抽象方法,抽象类可以包含抽象方法,也可以不包含,实现重载。(正确)
B 在类中不能constInt = constInt + 5(错误)
C 返回值不能作为重载的依据(错误)
D 有方法体的不能作为抽象函数(错误)

4、transient 变量和下面哪一项有关?
正确答案: B 你的答案: B (正确)
Cloneable
Serializable
Runnable
Comparable

题解:
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

5、Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
正确答案: B 你的答案: B (正确)
正确
错误

题解:
容器的左上角被确定为坐标的起点

6、在Java中,HashMap中是用哪些方法来解决哈希冲突的?
正确答案: C 你的答案: C (正确)
开放地址法
二次哈希法
链地址法
建立一个公共溢出区

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

7、尝试编译以下程序会产生怎么样的结果?()
public class MyClass {
long var;
public void MyClass(long param) { var = param; }//(1)
public static void main(String[] args) {
MyClass a, b;
a =new MyClass();//(2)
b =new MyClass(5);//(3)
}
}
正确答案: C 你的答案: C (正确)
编译错误将发生在(1),因为构造函数不能指定返回值
编译错误将发生在(2),因为该类没有默认构造函数
编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数
该程序将正确编译和执行

题解:
这道题一定要看仔细了,MyClass方法并不是构造参数,而是返回类型为void的普通方法,普通方法自然需要实例化对象然后去调用它,所以124不对,第三个是正确的,因为没有带参数的构造器,所以自然不能传一个int进去。

8、10. class Line {
11. public class Point { public int x,y;}
12. public Point getPoint() { return new Point(); }
13. }
14. class Triangle {
15. public Triangle() {
16. // insert code here
17. }
18. }
在第16行插入哪段代码可以获得一个Point对象的坐标?( )
正确答案: D 你的答案: D (正确)
Point p = Line.getPoint();
Line.Point p = Line.getPoint();
Point p = (new Line()).getPoint();
Line.Point p = (new Line()).getPoint();

9、下列不属于算法结构的是()
正确答案: C 你的答案: C (正确)
输入数据
处理数据
存储数据
输出结果

题解:
算法包括0个或多个输入,1个或多个输出,中间有穷个处理过程。
存储结构不属于算法结构

10、下列哪些操作会使线程释放锁资源?
正确答案: B C 你的答案: BC (正确)
sleep()
wait()
join()
yield()

题解:
A:sleep会使当前线程睡眠指定时间,不释放锁
B:wait会使当前线程回到线程池中等待,释放锁,当被其他线程使用notify,notifyAll唤醒时进入可执行状态
C:当前线程调用 某线程.join()时会使当前线程等待某线程执行完毕再结束,底层调用了wait,释放锁
D:yield会使当前线程重回到可执行状态,等待cpu的调度,不释放锁

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

每天进步一点点!
不进则退!

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

在这里插入图片描述
加油!

共同努力!

Keafmd

你可能感兴趣的:(NowCoder,java)