当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 1、下列不属于访问控制符的是() 2、Java 源程序文件的扩展名为() 3、以下程序的执行结果是: 4、给定代码: 5、下面有关List接口、Set接口和Map接口的描述,错误的是? 6、以
目录
  • 1、下列不属于访问控制符的是()
  • 2、Java 源程序文件的扩展名为()
  • 3、以下程序的执行结果是:
  • 4、给定代码:
  • 5、下面有关List接口、Set接口和Map接口的描述,错误的是?
  • 6、以下代码的输出结果是?
  • 7、URL u =new URL(“http://www.123.com”);。如果www.123.com不存在,则返回______。
  • 8、what is the result of the following code?
  • 9、下面关于volatile的功能说法正确的是哪个
  • 10、下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、
    • 答案汇总:
  • 总结

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

    1、下列不属于访问控制符的是()

    正确答案: D

    public

    private

    protected

    static

    题解:
    在这里插入图片描述

    2、Java 源程序文件的扩展名为()

    正确答案: A

    .java

    .class

    .exe

    .jar

    题解:
    .class 编译后的Java文件
    .java是未编译的程序
    .jsp是页面程序
    .xml配置程序
    .jar是.calss的集合

    3、以下程序的执行结果是:

    static boolean foo(char c)

    {

    System.out.print©;

    return true;

    }

    public static void main(String[] args) {

    int i =0;

    for(foo(‘A');foo(‘B')&&(i<2);foo(‘C'))

    {

    i++;

    foo(‘D');

    }

    }

    正确答案: A

    ABDCBDCB

    ABCDABCD

    编译时出错

    运行时抛出异常

    题解:
    例子:for(1;2;3){
    4;
    }
    这题考察的应该是for循环的执行顺序:
    1只在开头执行一次便不再执行;然后是2->4->3->2->4->3这样循环下去;等到满足终止条件时到2就停止了,所以选A

    4、给定代码:

    public class SwitchTest{//1

    public static void main(String[] args) {//2

    System.out.println(“value=”+switchit(4));//3

    }//4

    public static int switchit(int x) {

    int j=1;

    switch (x) {

    case 1:j++;

    case 2:j++;

    case 3:j++;

    case 4:j++;

    case 5:j++;

    default:j++;

    }

    return j+x;

    }

    }

    第三行将输出什么?

    正确答案: B

    value=6

    value=8

    value=3

    value=5

    value=4

    题解:
    没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8

    5、下面有关List接口、Set接口和Map接口的描述,错误的是?

    正确答案: A

    他们都继承自Collection接口

    List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置

    Set是一种不包含重复的元素的Collection

    Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value

    题解:
    在这里插入图片描述

    6、以下代码的输出结果是?

    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

    静态块 构造块 构造块 构造块

    构造块 静态块 构造块 构造块

    构造块 构造块 静态块 构造块

    构造块 构造块 构造块 静态块

    题解:
    开始时JVM加载B.class,对所有的静态成员进行声明,t1 t2被初始化为默认值,为null,又因为t1 t2需要被显式初始化,所以对t1进行显式初始化,初始化代码块→构造函数(没有就是调用默认的构造函数),咦!静态代码块咋不初始化?因为在开始时已经对static部分进行了初始化,虽然只对static变量进行了初始化,但在初始化t1时也不会再执行static块了,因为JVM认为这是第二次加载类B了,所以static会在t1初始化时被忽略掉,所以直接初始化非static部分,也就是构造块部分(输出'‘构造块'')接着构造函数(无输出)。接着对t2进行初始化过程同t1相同(输出'构造块'),此时就对所有的static变量都完成了初始化,接着就执行static块部分(输出'静态块'),接着执行,main方法,同样也,new了对象,调用构造函数输出(‘构造块'),所以选C

    7、URL u =new URL(“http://www.123.com”);。如果www.123.com不存在,则返回______。

    正确答案: A

    http://www.123.com

    ””

    null

    抛出异常

    题解:
    new URL()时必须捕获检查异常,但这个异常是由于字符串格式和URL不符导致的,与网址是否存在无关。URL的toString方法返回字符串,无论网址是否存在。

    8、what is the result of the following code?

    enum AccountType

    {

    SAVING, FIXED, CURRENT;

    private AccountType()

    {

    System.out.println(“It is a account type”);

    }

    }

    class EnumOne

    {

    public static void main(String[]args)

    {

    System.out.println(AccountType.FIXED);

    }

    }

    正确答案: C

    Compiles fine and output is prints”It is a account type”once followed by”FIXED”

    Compiles fine and output is prints”It is a account type”twice followed by”FIXED”

    Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”

    Compiles fine and output is prints”It is a account type”four times followed by”FIXED”

    Compilation fails

    翻译:

    编译良好,输出是打印“它是一个帐户类型”,后面跟着“FIXED”

    编译良好,输出打印" It is a account type “两次,后面跟着” FIXED "

    编译良好,输出是打印“这是一个帐户类型”三次,然后是“FIXED”

    编译良好,输出是打印“这是一个帐户类型”四次,然后是“FIXED”

    编译失败

    9、下面关于volatile的功能说法正确的是哪个

    正确答案: B C

    原子性

    有序性

    可见性

    持久性

    题解:
    synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性

    10、下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、

    java.lang.ClassLoader

    正确答案: A B E

    Thread

    Number

    Double

    Math

    ClassLoader

    题解:
    A:Thread可以被继承,用于创建新的线程
    B:Number类可以被继承,Integer,Float,Double等都继承自Number类
    C:Double类的声明为
    public final class Doubleextends Numberimplements Comparable<Double>
    final生明的类不能被继承
    D:Math类的声明为
    public final class Mathextends Object
    不能被继承
    E:ClassLoader可以被继承,用户可以自定义类加载器

    答案汇总:

    1、正确答案: D

    2、正确答案: A

    3、正确答案: A

    4、正确答案: B

    5、正确答案: A

    6、正确答案: C

    7、正确答案: A

    8、正确答案: C

    9、正确答案: B C

    10、正确答案:A B E

    总结

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

    网友评论