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

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

1、为AB类的一个无形式参数无返回值的方法method书写方法头,可以用AB.method()方式调用,该方法头的形式为( )。
正确答案: A 你的答案: A (正确)
static void method( )
public void method( )
final void method( )
abstract void method( )

题解:
可以直接类名.方法名的,这个方法一定是static的

2、以下类定义中的错误是什么?()
abstract class xy
{
abstract sum (int x, int y) { }
}
正确答案: C 你的答案: C (正确)
没有错误
类标题未正确定义
方法没有正确定义
没有定义构造函数

题解:
1、抽象方法不能有方法体,这是规定
2、该方法缺少返回值,只有构造没有返回值

3、请问以下代码运行结果是:
日常Java练习题(每天进步一点点系列)_第2张图片
正确答案: D 你的答案: D (正确)
try catch
try finally catch
try finally
try catch finally

题解:
结果为try catch finally,运行过程如下: 在执行到try代码块中,首先输出try,然后抛出异常,直接跳转到catch中,输出catch,然后跳转到finally块中,输出finally。

4、关于继承和实现说法正确的是 ? ( )
正确答案: A 你的答案: A (正确)
类可以实现多个接口,接口可以继承(或扩展)多个接口
类可以实现多个接口,接口不能继承(或扩展)多个接口
类和接口都可以实现多个接口
类和接口都不可以实现多个接口

题解:
1.类与类之间的关系为继承,只能单继承,但可以多层继承。
2.类与接口之间的关系为实现,既可以单实现,也可以多实现。
3.接口与接口之间的关系为继承,既可以单继承,也可以多继承。

5、以下哪一个不是赋值符号?
正确答案: C 你的答案: C (正确)
+=
<<=
<<<=
>>>=

题解:
C项混合赋值运算符的使用
<<表示左移位
>>表示带符号右移位
>>>表示无符号右移
但是没有<<<运算符

6、以下代码将打印出
public static void main (String[] args) {
String classFile = “com.jd.”. replaceAll(".", “/”) + “MyClass.class”;
System.out.println(classFile);
}
正确答案: C 你的答案: C (正确)
com. jd
com/jd/MyClass.class
///MyClass.class
com.jd.MyClass

题解:
由于replaceAll方法的第一个参数是一个正则表达式,而".“在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成”/"。如果想替换的只是".",那么就要写成"\."

7、以下哪个式子有可能在某个进制下成立()?
正确答案: A 你的答案: A (正确)
13 * 14=204
12 * 34=568
14 * 14=140
1+1=3

题解:
八进制13转十进制:1 * 8 + 3 = 11
八进制14转十进制:1 * 8 + 4 = 12
11 * 12=132
八进制204转十进制:2 * 8 * 8+0 * 8 + 4 = 132

日常Java练习题(每天进步一点点系列)_第3张图片

8、Java语言中,下面哪个语句是创建数组的正确语句?( )
正确答案: A B D E 你的答案: A B D E (正确)
float f[][] = new float[6][6];
float []f[] = new float[6][6];
float f[][] = new float[][6];
float [][]f = new float[6][6];
float [][]f = new float[6][];

题解:
二维数组定义,一维长度必须定义,二维可以后续定义

9、执行如下程序代码
char chr = 127;
int sum = 200;
chr += 1;
sum += chr;
后,sum的值是 ; ( )
备注:同时考虑c/c++和Java的情况的话
正确答案: A C 你的答案: A C (正确)
72
99
328
327

题解:
在C/C++中:因为char类型的数据范围为0到127,127+1超过了这个范围,而127的二进制为01111111,加1后按照有符号输出就为-128,所以200-128=72
在Java中:java中只有byte, boolean是一个字节, char是两个字节, 所以对于java来说127不会发生溢出, 输出328

10、下面有关java threadlocal说法正确的有?
正确答案: A B C D 你的答案: A B C D (正确)
ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递。
线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收。
在Thread类中有一个Map,用于存储每一个线程的变量的副本。
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。

题解:
全对

答案汇总:
1、正确答案: A
2、正确答案: C
3、正确答案: D
4、正确答案: A
5、正确答案: C
6、正确答案: C
7、正确答案: A
8、正确答案: A B D E
9、正确答案: A C
10、正确答案:A B C D

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

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

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

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

共同努力!

Keafmd

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