温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java日常练习题有哪些

发布时间:2021-08-05 09:32:53 来源:亿速云 阅读:122 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关Java日常练习题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    1、下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()

    正确答案: C

    ArithmeticException

    NumberFormatException

    Exception

    ArrayIndexOutOfBoundException

    题解:
    ArithmeticException 是算数异常
    NumberFormatException 是数据格式异常
    Exception 异常
    ArrayIndexOutOfBoundException 数组索引超过界限异常
    先处理具体的异常,如果没有则放到一个大的范围之中Exception

    2、若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于()

    正确答案: D

    本地方法

    最终方法

    解态方法

    抽象方法

    题解:
    含有abstract关键字的方法是抽象方法,抽象方法没有方法体以分号结束,抽象类可不包含抽象方法但声明了抽象方法的类必须定义为抽象类,并且抽象类、接口都不可以实例化。子类可继承抽象父类或实现抽象父类当中的所有抽象方法(两种方法皆可)

    3、给定以下方法声明,调用执行mystery(1234)的输出结果?

    //precondition: x >=0

    public void mystery (int x)

    {

    System.out.print(x % 10);

    if ((x / 10) != 0)

    {

    mystery(x / 10);

    }

    System.out.print(x % 10);

    }

    正确答案: B

    1441

    43211234

    3443

    12344321

    题解:
    优先会输出1234%10=4,选B。后面不用看了

    4、java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。()

    正确答案: A

    正确

    错误

    题解:
    例如平时有这样的用法
    for(int i=0;i<10;i++){
    a[i+1]=a[i]
    }
    这个i+1就是整数型表达式 或者a[5+3]就是a[8]

    5、以下叙述正确的是

    正确答案: D

    实例方法可直接调用超类的实例方法

    实例方法可直接调用超类的类方法、

    实例方法可直接调用子类的实例方法

    实例方法可直接调用本类的实例方法

    题解:
    A错误,类的实例方法是与该类的实例对象相关联的,不能直接调用,只能通过创建超类的一个实例对象,再进行调用
    B错误,当父类的类方法定义为private时,对子类是不可见的,所以子类无法调用
    C错误,子类具体的实例方法对父类是不可见的,所以无法直接调用, 只能通过创建子类的一个实例对象,再进行调用
    D正确,实例方法可以调用自己类中的实例方法

    6、下面有关java object默认的基本方法,说法错误的是?

    正确答案: B

    equals(Object obj) 指示某个其他对象是否与此对象“相等”

    copy() 创建并返回此对象的一个副本

    wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法

    toString() 返回该对象的字符串表示

    题解:
    Object中没有copy方法

    7、如下代码,执行test()函数后,屏幕打印结果为()

    public class Test2

    {

    public void add(Byte b)

    {

    b = b++;

    }

    public void test()

    {

    Byte a = 127;

    Byte b = 127;

    add(++a);

    System.out.print(a + " ");

    add(b);

    System.out.print(b + “”);

    }

    }

    正确答案: D

    127 127

    128 127

    129 128

    以上都不对

    题解:
    add()方法里面的修改值并不会起作用,而add(++a)会使a数值越界成-128,所以输出为-128 127

    8、下面程序的输出结果为( )

    public class Demo {

    public static String sRet = “”;

    public static void func(int i)

    {

    try

    {

    if (i%2==0)

    {

    throw new Exception();

    }

    }

    catch (Exception e)

    {

    sRet += “0”;

    return;

    }

    finally

    {

    sRet += “1”;

    }

    sRet += “2”;

    }

    public static void main(String[] args)

    {

    func(1);

    func(2);

    System.out.println(sRet);

    }

    }

    正确答案: B

    120

    1201

    12012

    101

    题解:
    ①调用func(1),if不符合,直接进入finally,sRet=“1"
    ②finally语句中没有返回值,故继续向下执行,sRet=“12”
    ③调用func(2),if符合,sRet=“120”,此时有返回值!!!
    ④调用finally语句,sRet=“1201”
    ⑤因为已经有返回值了,finally之后的语句也不再执行,sRet=“1201”。

    9、ServletConfig接口默认是哪里实现的?

    正确答案: B

    Servlet

    GenericServlet

    HttpServlet

    用户自定义servlet

    题解:
    GenericServlet类的实现接口中包括了ServletConfig接口,但是它自身的init(ServletConfig config)方法又需要外界给它传递一个实现ServletConfig的对象,就是说GenericServlet和ServletConfig的依赖关系既是继承关系,也是一种关联关系。

    10、以下哪几种方式可用来实现线程间通知和唤醒:( )

    正确答案: A C

    Object.wait/notify/notifyAll

    ReentrantLock.wait/notify/notifyAll

    Condition.await/signal/signalAll

    Thread.wait/notify/notifyAll

    题解:
    Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、 notify(),使用Condition1的await()、signal()这种方式实现线程间协作更加安全和高效。

    答案汇总:

    1、正确答案: C

    2、正确答案: D

    3、正确答案: B

    4、正确答案: A

    5、正确答案: D

    6、正确答案: B

    7、正确答案: D

    8、正确答案: B

    9、正确答案: B

    10、正确答案: A C

    关于“Java日常练习题有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI