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

目录

  • 1、下面程序的运行结果:()
  • 2、如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是()
  • 3、有以下类定义:
  • 4、以下代码的输出的正确结果是
  • 5、下列说法正确的是()
  • 6、以下代码输出的是:
  • 7、非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致.
  • 8、下列关于容器集合类的说法正确的是?
  • 9、下面说法正确的是?()
  • 10、下面的对象创建方法中哪些会调用构造方法 ()?
    • 答案汇总:
  • 总结
    承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)

    1、下面程序的运行结果:()
    public static void main(String args[]) {Thread t=new Thread(){public voidrun(){dianping(); }}; t.run(); System.out.print("dazhong"); }static void dianping(){System.out.print("dianping"); }

    正确答案: B

    dazhongdianping

    dianpingdazhong

    a和b都有可能

    dianping循环输出,dazhong夹杂在中间
    题解:
    在上面main()方法中,并没有创建一个新的线程,只是简单地方法调用而已,如果想要创建线程,需要t.start(); 创建线程,等待cpu时间片,而run()方法只是简单地方法调用,所以先执行run(),在输出dazhong

    2、如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是()
    正确答案: D

    2530

    55

    2052055

    25255
    题解:
    1)不论有什么运算,小括号的优先级都是最高的,先计算小括号中的运算,得到x+y +""+25+y
    2)任何字符与字符串相加都是字符串,但是是有顺序的,字符串前面的按原来的格式相加,字符串后面的都按字符串相加,得到25+“”+25+5
    3)上面的结果按字符串相加得到25255

    3、有以下类定义:
    abstract class Animal{abstract void say(); }public class Cat extends Animal{public Cat(){System.out.printf("I am a cat"); }public static void main(String[] args) {Cat cat=new Cat(); }}

    运行后:

    正确答案: B

    I am a cat

    Animal能编译,Cat不能编译

    Animal不能编译,Cat能编译

    编译能通过,但是没有输出结果
    题解:
    当一个实体类集成一个抽象类,必须实现抽象类中的抽象方法,抽象类本身没有错误,但是cat类编译通不过

    4、以下代码的输出的正确结果是
    public class Test {public static void main(String args[]) { String s = "祝你考出好成绩!"; System.out.println(s.length()); }}

    正确答案: D
    24

    16

    15

    8
    题解:
    别想太多,length() 方法返回的就是字符串的长度,一个 char 可以存下汉字,剩下的数数就完事了。
    如果想获得占用字节数的话,可以用 s.getBytes(“GBK”).length,结果就是 16 了。

    5、下列说法正确的是()
    正确答案: B

    在类方法中可用this来调用本类的类方法

    在类方法中调用本类的类方法时可直接调用

    在类方法中只能调用本类中的类方法

    在类方法中绝对不能调用实例方法
    题解:
    在类方法中不能有this关键字,,直接调用类方法即可,A错误,B正确,在类方法中可以通过创建实例对象调用类的实例方法,C、D错误

    6、以下代码输出的是:
    public class SendValue{public String str="6"; public static void main(String[] args) {SendValue sv=new SendValue(); sv.change(sv.str); System.out.println(sv.str); }public void change(String str) {str="10"; }}

    正确答案: A
    6

    10

    都不对

    16
    题解:
    Java日常练习题|Java日常练习题,每天进步一点点(14)
    文章图片


    7、非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致.
    正确答案: B
    正确

    错误
    题解:
    方法头:包括修饰符(可大),返回值(可小)、方法名
    方法名与参数相同时:
    修饰符:可以大于等于父类方法的访问权限,而非必须一致
    返回值:可以小于父类方法返回的类型,而非必须一致
    实现接口中的方法是重写要求 没必须完全一样 如接口中返回值是Object 实现接口方法返回值可以是其他的

    8、下列关于容器集合类的说法正确的是?
    正确答案: C

    LinkedList继承自List

    AbstractSet继承自Set

    HashSet继承自AbstractSet

    WeakMap继承自HashMap
    题解:
    A.LinkedList是继承自AbstractSequentialList(抽象类,实现了List接口)的,并且实现了List接口。所以A错误。
    B.AbstractSet是实现了Set接口的,本身是一个抽象类。继承自AbstractCollection(抽象类,实现了Collection接口)。所以B错误。
    C.HashSet是继承自AbstractSet,实现了Set接口。所以C正确。
    D.WeakMap不存在于java集合框架的。只有一个叫做WeakHashMap(继承自AbstractMap)。
    Java日常练习题|Java日常练习题,每天进步一点点(14)
    文章图片


    9、下面说法正确的是?()
    正确答案:B C

    调用Thread的sleep()方法会释放锁,调用wait()方法不释放锁

    一个线程调用yield方法,可以使具有相同优先级线程获得处理器

    在Java中,高优先级的可运行的线程会抢占低优先级线程的资源

    java中,线程可以调用yield方法使比自己低优先级的线程运行
    题解:
    yiled方法属于高风亮节的行为,这个坑位我不上了,后面跟我同级别的先上厕所。这样比较好记!
    高优先级的就是你们的县长,县长要上厕所,对不起,你得出来,县长先上,县长上完了,CPU分配到你了,你才能继续拉X。

    10、下面的对象创建方法中哪些会调用构造方法 ()?
    正确答案:A C

    new语句创建对象

    调用Java.io.ObjectInputStream的readObject方法

    java反射机制使用java.lang.Class或java.lang.reflect.Constructor的newInstance()方法

    调用对象的clone()方法
    题解:
    题目的四个选项是构造方法new,序列化对象,反射,克隆分别创建一个对象的方法,,只有new和反射用到了构造方法

    答案汇总:

    1、正确答案: B

    2、正确答案: D

    3、正确答案: B

    4、正确答案: D

    5、正确答案: B

    6、正确答案: A

    7、正确答案: B

    8、正确答案: C

    9、正确答案: B C

    10、正确答案: A C

    总结 【Java日常练习题|Java日常练习题,每天进步一点点(14)】本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

      推荐阅读