日常Java练习题(方舟最新系列6)
Posted 方舟孤行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常Java练习题(方舟最新系列6)相关的知识,希望对你有一定的参考价值。
温馨提示:为了更好地提高码友们编程的水平,我决定把答案写在最后面,也方便小伙伴们更高效地完成练习!
1.请问下面程序段的输出结果是?
public class EqualsMethod
{
public static void main(String[] args)
{
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.print(n1 == n2);
System.out.print(",");
System.out.println(n1 != n2);
}
}
正确答案: B 你的答案: B (正确)
A false,false
B false,true
C true,false
D true,true
题解:
首先,我们必须要知道 "==" 这个比较符号
"=="可以用于基本类型和引用类型的比较:当用于基本类型时候,是比较值是否相同;当用于引用类型,是比较引用对象的内存地址是否相同
"=="和 "!="比较的是地址 指第一个new()出来的地址
因为两次new() 出的内存地址不相同
所以System.out.print(n1 == n2);返回 false
所以System.out.println(n1 != n2);就返回true
2.在java7当中,下列哪个不能做switch()的参数类型?
正确答案: D 你的答案: D (正确)
A int型
B 枚举类型
C 字符串
D 浮点型
题解:
switch语句后的控制表达式只能是short、char、int类型和枚举类型,不能是float,double和boolean类型。String类型是java7才开始支持的
3.下面代码的输出结果是?
public class B
{
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println(“构造块”);
}
static
{
System.out.println(“静态块”);
}
public static void main(String[] args)
{
B t = new B();
}
}
正确答案: C 你的答案: C (正确)
A 静态块 构造块 构造块 构造块
B 构造块 静态块 构造块 构造块
C 构造块 构造块 静态块 构造块
D 构造块 构造块 构造块 静态块
题解:
刚开始时,JVM加载B.class,对所有的静态成员进行声明,t1 t2被初始化为默认值,为null,又因为t1 t2也需要被显式的初始化,所以对t1进行显式初始化,初始化代码块→构造函数(没有就是调用默认的构造函数),咦!为什么静态代码块不初始化呢?因为在刚开始的时候已经对static部分进行了初始化,虽然只对static变量进行了初始化,但在初始化t1时便不会再执行static块了,因为JVM认为这是第二次加载类B了,所以static会在t1初始化时被忽略掉,所以直接初始化非static部分,也就是构造块部分(输出’‘构造块’’)接着构造函数(无输出)。接着对t2进行初始化过程同t1相同(输出’构造块’),此时就对所有的static变量都完成了初始化,接着就执行static块部分(输出’静态块’),接着执行,main方法,同样的,new了新的对象,调用构造函数输出(‘构造块’)
4.What results from the following code fragment?
(翻译:下面的代码片段产生了什么结果?)
int i = 5;
int j = 10;
System.out.println(i + ~j);
正确答案: C 你的答案: C (正确)
A Compilation error because”~”doesn’t operate on integers
B -5
C -6
D 15
题解:
公式-n=n+1可推出n=-n-1,所以~10=-11再加5结果为-6
5.对于构造方法,请问下列叙述正确的是?
正确答案: A C D 你的答案: A C D(正确)
A 构造方法的优先级一般比代码块低
B 构造方法的返回类型只能是void型,不能为其它任何类型
C 构造方法的主要作用是完成类对象的初始化工作
D 一般在创建新对象时,系统会自动调用相应的构造方法
题解:
A:静态成员变量或静态代码块>main方法>非静态成员变量或非静态代码块>构造方法
B:think in java中提到构造器本身并无任何返回值。
C: 构造方法的主要作用是完成对类对象的初始化工作。
D: 一般在创建(new)新对象时,系统会自动调用相应的构造方法。
6.JDK1.7版本之前,接口和抽象类叙述正确的是?
正确答案: B C 你的答案: B C (正确)
A 抽象类一定没有构造函数
B 接口没有构造函数
C 抽象类不允许多继承
D 接口中的方法允许可以有方法体
题解:
A 抽象类可以有构造方法,只是不能直接创建抽象类的实例对象
B 在接口中 不可以有构造方法,在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。
C Java不允许类多重继承
D Jdk1.8后接口中的方法允许可以有方法体,jdk1.8之前不可以有方法体
7.以下关于Java语言异常处理叙述正确的有?
正确答案: C D 你的答案: C D (正确)
A throw关键字可以在方法上声明该方法要抛出的异常
B throws用于抛出异常对象
C try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句
D finally语句块是不管有没有出现异常都要执行的语句块
E 在try块中不可以抛出异常
题解:
Java语言中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。
throw用于抛出异常。
throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。
try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。
cacth用于捕获从try中抛出的异常并作出处理。
finally语句块是不管有没有出现异常都要执行的内容。
8.下面程序的输出结果是?
public class Demo{
public static void main (String [] args) {
String lx = “LeXin”;
String nb = lx;
lx = “Fenqile”;
System.out.println(nb);
}
}
正确答案: B C 你的答案: B C (正确)
A 程序异常,编译不通过
B 程序编写正常,可正常运行
C 程序输出值为“LeXin”
D 程序输出值为“Fenqile”
题解:
很明显把“LeXin”的值赋给了nb
9.java中关于继承的叙述描述正确的是?
正确答案: A C D 你的答案: A C D (正确)
A 一个子类只能继承一个父类
B 子类可以继承父类的构造方法
C 继承具有传递性
D 父类一般具有通用性,子类更具体
题解:
子类不可以继承父类的构造方法,只可以调用父类的构造方法。子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句
10.What is Static Method in Java?
正确答案: A B C 你的答案: A B C (正确)
A It is a method which belongs to the class and not to the object(instance)
B A static method can access only static data. It can not access non-static data (instance variables)
C A static method can call only other static methods and can not call a non-static method from it.
D A static method can not be accessed directly by the class name and doesn’t need any object
题解:
A:静态方法是一个属于类而不属于对象(实例)的方法。(√)
B:静态方法只能访问静态数据。无法访问非静态数据(实例变量)。(√)
C:静态方法只能调用其他静态方法,不能从中调用非静态方法。(√)
D:静态方法不能通过类名直接访问,也不需要任何对象。(×) 静态方法可以直接用类名访问。
最近很多小伙伴希望我推荐个比较详细的Java零基础教程,下面这个是我看过的觉得挺不错的,值得收藏系列。
链接:点这里也可以
正确答案: A B C 你的答案: A B C (正确)
答案汇总:
1、正确答案: B
2、正确答案: D
3、正确答案: C
4、正确答案: C
5、正确答案: A C D
6、正确答案: B C
7、正确答案: C D
8、正确答案: B C
9、正确答案: A C D
10、正确答案:A B C
以上部分题解来自牛客评论区,感谢评论区大佬的解释
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]
好了,以上是我精心为零基础以及基础好的学习者准备的精心Java大礼包,基本包含了Java的一切知识,针对一切学习者(不管有无基础),本人也在努力得提高自己的Java核心技术,有想要一起快速提升自己Java编程水平的小伙伴加下我的联系方式哦~~~,免费提供一切学习资料和本人多年的经验!
有什么问题欢迎大家提出来 ♪(´○`)o团结就是力量
Q:2694674917
V:asd2069696039
ALL-OUT YOUTH
以上是关于日常Java练习题(方舟最新系列6)的主要内容,如果未能解决你的问题,请参考以下文章