java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java日常练习题

Java日常练习题,每天进步一点点(28)

作者:牛哄哄的柯南

下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你

承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)

1、为AB类的一个无形式参数无返回值的方法method书写方法头,可以用AB.method()方式调用,该方法头的形式为( )。

正确答案: 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

没有错误

类标题未正确定义

方法没有正确定义

没有定义构造函数

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

3、请问以下代码运行结果是:

在这里插入图片描述

正确答案: D

try catch

try finally catch

try finally

try catch finally

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

4、关于继承和实现说法正确的是 ? ( )

正确答案: A

类可以实现多个接口,接口可以继承(或扩展)多个接口

类可以实现多个接口,接口不能继承(或扩展)多个接口

类和接口都可以实现多个接口

类和接口都不可以实现多个接口

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

5、以下哪一个不是赋值符号?

正确答案: C

+=

<<=

<<<=

>>>=

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

6、以下代码将打印出

public static void main (String[] args) {

String classFile = “com.jd.”. replaceAll(".", “/”) + “MyClass.class”;

System.out.println(classFile);

}

正确答案: C

com. jd

com/jd/MyClass.class

///MyClass.class

com.jd.MyClass

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

7、以下哪个式子有可能在某个进制下成立()?

正确答案: 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
在这里插入图片描述

8、Java语言中,下面哪个语句是创建数组的正确语句?( )

正确答案: 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

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

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

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

您可能感兴趣的文章:
阅读全文