日常Java练习题(方舟最新系列5)
Posted 方舟孤行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常Java练习题(方舟最新系列5)相关的知识,希望对你有一定的参考价值。
提示:为了更好地提高码友们编程的水平,我决定把答案写在最后面,也方便小伙伴们更高效地完成练习!
1.abstract和final关键字可以同时用来修饰同一个类?
A 正确
B 错误
题解:
abstract修饰一个类,这个类肯定可以被继承,但是final类是不能继承的,所以有矛盾,肯定不能同时用
2.下列描述中,错误的是?
A SQL语言又称为结构化查询语言
B Java中”static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问
C 面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上
D Java是强类型语言,javascript是弱类型语言
E 面向对象的三大特性包括:封装,继承,多态
题解:
值传递,传递的是原来值的副本。
引用传递,除了一些特殊的(String,包装类属于不可变类),一般的引用类型在进行传递的时候,一开始形参和实参都是指向同一个地址的,这个时候形参对对象的改变会影响到所引用的对象上。
3.关于protected 修饰的成员变量,以下说法正确的是?
A 可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问
B 只能被该类本身和该类的所有的子类访问
C 只能被该类自身所访问
D 只能被同一个包中的类访问
题解:
4.以下哪个类包含方法flush()?
A InputStream
B OutputStream
C A 和B 选项都包含
D A 和B 选项都不包含
题解:
flush()函数强制将缓冲区中的字符流、字节流等输出,目的是如果输出流输出到缓冲区完成后,缓冲区并没有填满,那么缓冲区将会一直等待被填满。所以在关闭输出流之前要调用flush()
5.设m和都是int类型,那么以下for循环语句的执行情况是?
for (m = 0, n = -1; n = 0; m++, n++)
n++;
A 循环体一次也不执行 循环体执行一次 是无限循环 有限次循环 循环结束判断条件不合法 运行出错
B 循环体执行一次 是无限循环
C 有限次循环
D 循环结束判断条件不合法
题解:
判断条件写的是:n = 0,错误,判断条件应该返回Boolean值,应该写:n == 0.
6.下列关于final、finally、finalize说法正确的是?
A final可以用来修饰类、方法、变量
B finally是java保证重点代码一定要被执行的一种机制
C 变量被final修饰后不能再指向其他对象,但可以重写
D finalize设计的目的是保证对象在被垃圾收集前完成特定资源的回收
题解:
被final修饰后的变量不可变
被final修饰后的方法不可被重写
被final修饰后的类不可被继承
7.Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法是Collection接口所定义的?
A int size()
B boolean containsAll(Collection c)
C compareTo(Object obj)
D boolean remove(Object obj)
题解:
compareTo是接口Comparable中的方法
8.关于ThreadLocal类 以下说法正确的是?
A ThreadLocal继承自Thread
B ThreadLocal实现了Runnable接口
C ThreadLocal重要作用在于多线程间的数据共享
D ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本
E ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏
题解:
A ThreadLocal继承Object,相当于没继承任何特殊的
B ThreadLocal没有实现任何接口
C ThreadLocal并不是一个Thread,而是Thread的局部变量
9.以下程序执行后,错误的结果是?
public class Test {
private String name = “abc”;
public static void main(String[] args) {
Test test = new Test();
Test testB = new Test();
String result = test.equals(testB) + “,”;
result += test.name.equals(testB.name) + “,”;
result += test.name == testB.name;
System.out.println(result);
}
}
A true,true,true
B true,false,false
C false,true,false
D false,true,true
题解:
注意是选错误的,所以选三个,D是正确的
10.下面的Java赋值语句哪些是有错误的?
A int i =1000;
B float f = 45.0;
C char s = ‘\\u0639’;
D Object o = ‘f’;
E String s = “hello,world\\0”;
F Double d = 100;
题解:
B:小数如果不加 f 后缀,默认是double类型。double转成float向下转换,意味着精度丢失,所以要进行强制类型转换。
C:是使用unicode表示的字符。
D:‘f’ 字符会自动装箱成包装类,就可以向上转型成Object了。
F:整数默认是int类型,int类型不能转型为Double,最多通过自动装箱变为Integer但是Integer与Double没有继承关系,也没法进行转型
答案汇总:
1、正确答案: B
2、正确答案: C
3、正确答案: A
4、正确答案: B
5、正确答案: D
6、正确答案: A B D
7、正确答案: A B D
8、正确答案: D E
9、正确答案: A B C
10、正确答案: B F
以上部分题解来自牛客评论区,感谢评论区大佬的解释
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]
好了,以上是我精心为零基础以及基础好的学习者准备的精心Java大礼包,基本包含了Java的一切知识,针对一切学习者(不管有无基础),本人也在努力得提高自己的Java核心技术,有想要一起快速提升自己Java编程水平的小伙伴加下我的联系方式哦~~~,免费提供一切学习资料和本人多年的经验!
有什么问题欢迎大家提出来 ♪(´○`)o团结就是力量
Q:2694674917
V:asd2069696039
ALL-OUT YOUTH
以上是关于日常Java练习题(方舟最新系列5)的主要内容,如果未能解决你的问题,请参考以下文章