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

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

提示:好多小伙伴反映,直接看到答案不太好,那我把答案的颜色设置为透明,答案位置还是在题目后面,需要鼠标选中才能看见(操作如下图),同时为了手机端的小伙伴,我还会把所有答案放到文章最下面,希望给每天进步一点点的小伙伴更好的体验。



1、abstract和final可以同时作为一个类的修饰符。( )

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

正确

错误


题解:

abstract修饰一个类,这个类肯定可以被继承,但是final类是不能继承的,所以有矛盾,肯定不能同时用


2、下列描述中,错误的是

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

SQL语言又称为结构化查询语言

java中”static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问

面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上

java是强类型语言,javascript是弱类型语言

面向对象的三大特性包括:封装,继承,多态


题解:

值传递,传递的是原来值的副本。

引用传递,除了一些特殊的(String,包装类属于不可变类),一般的引用类型在进行传递的时候,一开始形参和实参都是指向同一个地址的,这个时候形参对对象的改变会影响到所引用的对象上。


3、关于protected 修饰的成员变量,以下说法正确的是

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

可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问

只能被该类本身和该类的所有的子类访问

只能被该类自身所访问

只能被同一个包中的类访问


题解:



4、以下哪个类包含方法flush()?()

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

InputStream

OutputStream

A 和B 选项都包含

A 和B 选项都不包含


题解:

flush()函数强制将缓冲区中的字符流、字节流等输出,目的是如果输出流输出到缓冲区完成后,缓冲区并没有填满,那么缓冲区将会一直等待被填满。所以在关闭输出流之前要调用flush()。


5、设m和都是int类型,那么以下for循环语句的执行情况是( )

for (m = 0, n = -1; n = 0; m++, n++)

n++;

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

循环体一次也不执行 循环体执行一次 是无限循环 有限次循环 循环结束判断条件不合法 运行出错

循环体执行一次 是无限循环

有限次循环

循环结束判断条件不合法


题解:

判断条件写的是:n = 0,错误,判断条件应该返回Boolean值,应该写:n == 0.


6、下列关于final、finally、finalize说法正确的是( )

正确答案: A B D 你的答案: A B D(正确)

final可以用来修饰类、方法、变量

finally是java保证重点代码一定要被执行的一种机制

变量被final修饰后不能再指向其他对象,但可以重写

finalize设计的目的是保证对象在被垃圾收集前完成特定资源的回收


题解:

被final修饰后的变量不可变

被final修饰后的方法不可被重写

被final修饰后的类不可被继承


7、Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法是Collection接口所定义的( )

正确答案: A B D 你的答案: A B D (正确)

int size()

boolean containsAll(Collection c)

compareTo(Object obj)

boolean remove(Object obj)


题解:

compareTo是接口Comparable中的方法


8、关于ThreadLocal类 以下说法正确的是

正确答案: D E 你的答案: D E (正确)

ThreadLocal继承自Thread

ThreadLocal实现了Runnable接口

ThreadLocal重要作用在于多线程间的数据共享

ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本

ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏


题解:

ThreadLocal继承Object,相当于没继承任何特殊的。

ThreadLocal没有实现任何接口。

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

true,true,true

true,false,false

false,true,false

false,true,true


题解:

注意是选错误的,所以选三个,D是正确的



10、下面的Java赋值语句哪些是有错误的 ()

正确答案: B F 你的答案: B F (正确)

int i =1000;

float f = 45.0;

char s = ‘\u0639’;

Object o = ‘f’;

String s = “hello,world\0”;

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


相关文章
|
5月前
|
存储 Java
创建一个乘法练习题生成器 using Java
创建一个乘法练习题生成器 using Java
|
6月前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
|
6月前
|
存储 Java 索引
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
|
6月前
|
Java
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历...
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历
44 0
|
6月前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
|
6月前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
|
6月前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
|
6月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
161 0
|
6月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
57 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
6月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
52 0
java字符串练习题8、同构字符串