前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java每日一练(2017/8/21)

Java每日一练(2017/8/21)

作者头像
Java学习
发布2018-04-18 10:55:12
6760
发布2018-04-18 10:55:12
举报
文章被收录于专栏:java学习java学习
每日一句

学的到东西的事情是锻炼,学不到的是磨练。

查看以前的所有练习题目以及答案:https://mp.weixin.qq.com/mp/homepage?__biz=MzA5MTMyNTI0Nw==&hid=13&sn=78e12cc1bdd8b15eef316f849a8b55b4#wechat_redirect

本期题目:

(单选题)1、对于以下代码段,4个输出语句中输出true的个数是( )。

class A{}

class B extends A{}

class C extends A{}

class D extends B{}

A obj = new D();

System.out.println(obj instanceof B);

System.out.println(obj instanceof C);

System.out.println(obj instanceof D);

System.out.println(obj instanceof A);

A 1

B 2

C 3

D 4


(单选题)2、 代码System. out. println(10 % 3 * 2);将打印出?

A 1

B 2

C 4

D 6


(不定项选择题) 3、对于构造方法,下列叙述正确的是( )。

A 构造方法的优先级一般比代码块低。

B 构造方法的返回类型只能是void型。

C 构造方法的主要作用是完成对类的对象的初始化工作。

D 一般在创建新对象时,系统会自动调用构造方法。


(单选题)4、 java中用()字指明继承关系.用()关键字指明对接口的实现。

A implementsextends

B extendsimplements

C extend implement

D implement extend

(单选题)5、如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰?

A public

B private

C private protected

D protected

上期答案:

(单选题) 1、Java中只有整型才能使用的运算符为?

A *

B /

C %

D +

正确答案是:C

解析:ABD选项的操作符都可用于int 但是结果不一定是int

所以只有%取余操作,只适用于整型


(不定项选择题)2、Consider the following code:

Integer s=newInteger(9);

Integer t=newInteger(9);

Long u=newLong(9);

Which testwould return true?

A (s==u)

B (s==t)

C (s.equals(t))

D (s.equals(9))

E (s.equals(newInteger(9))

正确答案是:CDE

解析:

(s==u) ,因为, s 是 Integer 类型, u 是 Long 类型,两个不同类型的引用不能进行 == 比较。 (s==t) , s 是指向一个 9 的引用,而 t 也是一个指向 9 的引用,虽然都是指向 9 ,但却是指向不同的 9 ,即是两个不同的引用。因此 == 比较返回的是假。 (s.equals(t)) , Integer 的 equals 方法如下: public boolean equals(Object obj) { if (obj instanceof Integer) { return value ==((Integer)obj).intValue(); } return false ; } 是 Integer 的实例且 value 值也相等的情况下返回真,其他返回假。在这里, s 和 t 都是 Integer 类型且值都为 9 ,因此结果为真。 (s.equals(9)) , 在进行 equals 比较之前,会对 9 调用 Integer.valueOf方法,进行自动装箱 , 由于 IntegerCache 中已经存在 9 ,所以,直接返回其引用,引用相同, equals 就自然相同了。所以结果为真。 (s.equals( new Integer(9)) ,直接创建了一个新的 Integer 实例,但且值也为 9 ,所以,满足条件,返回真。


(单选题)3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

Filef = new File( 填代码处);

file =new FileReader(f);

in=new BufferedReader(file);

A "./1.txt"

B "../my/1.txt"

C "c:\\my\\1.txt"

D "c:\ my\1.txt"

正确答案是:C

解析:"c:\\my\\1.txt" "c:/my/1.txt" 都是正确的答案


(单选题) 4、已知表达式int m[]={0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量最大值相等?

A m. length()

B m. length-1

C m. length()+1

D m. length+1

正确答案是:B

解析:

1.数组的下标是从0 开始的,所以数组的下标最大为5。

2.m.length的值为6。

所以,答案为:5=m.length()-1


(单选题)5、下面的代码运行的结果是:

class B extends Object

{

static

{

System.out.println("Load B");

}

public B()

{

System.out.println("Create B");

}

}

class A extends B

{

static

{

System.out.println("Load A");

}

public A()

{

System.out.println("Create A");

}

}

public class Testclass

{

public static void main(String[] args)

{

new A();

}

}

A Load B ->Create B->Load A -> Create A

B Load B -> Load A ->Create B ->Create A

C Load B -> Create B-> Create A -> Load A

D Create B ->Create A ->Load B ->Load A

正确答案是:B

解析:初始化块在构造器执行之前执行,类初始化阶段先执行最顶层父类的静态初始化块,依次向下执行,最后执行当前类的静态初始化块;创建对象时,先调用顶层父类的构造方法,依次向下执行,最后调用本类的构造方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档