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

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

1、以下关于java封装的描述中,正确的是:

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

封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

封装的意义不大,因此在编码中尽量不要使用

如果子类继承父类,对于父类中进行封装的方法,子类仍然可以直接调用

只能对一个类中的方法进行封装,不能对属性进行封装


题解:

封装主要是隐藏内部代码;

继承主要是复用现有代码;

多态主要是改写对象行为。


2、请问所有的异常类皆直接继承于哪一个类?()

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

java.applet.Applet

java.lang.Throwable

java.lang.Exception

java.lang.Error


题解:

注意问的是直接继承

2.png


3、Which statement is true for the class java.util.ArrayList?

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

The elements in the collection are ordered.

The collection is guaranteed to be immutable.

The elements in the collection are guaranteed to be unique.

The elements in the collection are accessed using a unique key.

The elements in the collections are guaranteed to be synchronized.


题解:

Which statement is true for the class java.util.ArrayList?

下面那个选项有关java.util.ArrayList是正确的

A.The elements in the collection are ordered.

集合中的元素是排序的

B.The collection is guaranteed to be immutable.

集合不可改变

C.The elements in the collection are guaranteed to be unique.

集合中的元素必须唯一

D.The elements in the collection are accessed using a unique key.

集合中元素的键是唯一的

E.The elements in the collections are guaranteed to be synchronized.

集合中的元素是线程同步的

选A,元素在集合中有序,指的是元素插入过程中记录了元素的插入顺序。


4、以下 b 的值是: byte b = (byte)129;

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

-126

-127

-128

-129


题解:

byte范围[-128,127]

byte b = (byte)127 , b = 127(未溢出)

byte b = (byte)128 , b = -128(溢出)

byte b = (byte)129 , b = -127(溢出)

考察的是数据类型转换。

129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001

在计算机系统中,数值一律用补码来表示(存储),正数的补码和源码相同。

1、int -> byte(1个字节),截取: 10000001

2、补码转反码:1开始则为负数,负数得到反码是末位-1: 10000000

3、负数的反码转原码(最高位即符号位不变):11111111

4、转换为十进制:-(2^7-1)=-127


5、哪个类可用于处理 Unicode?

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

InputStreamReader

BufferedReader

Writer

PipedInputStream


题解:

Unicode是由两个字节组成的,而InputStreamReader是将字节流转换成字符流供我们使用。同时InputStreamReader也可以指定字符集的编码。


6、下面代码的运行结果是( )

public class Arraytest

{

int a[] = new int[6];

public static void main ( String arg[] ) {

System.out.println ( a[0] );

}

}

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

null

0

编译出错

运行出错


题解:

在static方法中是不能访问非静态变量 a 的,需要将 a 声明为static,答案才会是 0 ,否则是编译出错


7、以下哪些继承自 Collection 接口()

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

List

Set

Map

Array


题解:

Collection中存放的是一组各自独立的对象,Map中存放的是“键-值”对象。

List和Set都是Collection的子接口,List是一个有序可重复列表,Set是一个无序重复集。

而Array是数组,并不继承Collection接口。

3.png


8、程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,()是正确的。

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

根据作用域规则,在函数中定义的变量只能在函数中引用

在函数中定义的变量,其生存期为整个程序执行期间

在函数中定义的变量不能与其所在函数的形参同名

在函数中定义的变量,其存储单元在内存的栈区


题解:

A 局部变量(local):只能在定义该属性的代码块中使用(方法或语句中)。

B 方法中的局部变量 在方法调用完后就销毁了

C 局部变量与全局变量不能重名。

D 在方法中定义的变量是存放在栈中的


9、有关静态初始化块说法正确的是?

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

无法直接调用静态初始化块

在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化

静态初始化块既没有访问修饰符,也没有参数

在程序中,用户可以控制何时执行静态初始化块


10、character流和byte流的区别不包括()

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

每次读入的字节数不同

前者带有缓冲,后者没有。

前者是字符读入,后者是字节读入。

二者没有区别,可以互换。


题解:

字符流和字节流每次读入的字节数是不确定的,可能相同也可能不相同;字符流和字节流都有缓冲流


答案汇总:

1、正确答案: A

2、正确答案: C

3、正确答案: A

4、正确答案: B

5、正确答案: A

6、正确答案: C

7、正确答案: A B

8、正确答案: A C D

9、正确答案: A B C

10、正确答案: A B D



相关文章
|
1月前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
22 1
|
1月前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
20 1
|
1月前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
14 2
|
1月前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
20 2
|
2月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
71 0
|
3月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
25 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
3月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
29 0
java字符串练习题8、同构字符串
|
3月前
|
canal Java
java字符串练习题7、验证回文串
java字符串练习题7、验证回文串
42 0
|
3月前
|
Java
java字符串练习题6、最后一个单词的长度
java字符串练习题6、最后一个单词的长度
23 0
|
3月前
|
Java 测试技术
java字符串练习题5、罗马数字转整数
java字符串练习题5、罗马数字转整数
26 0