Java面向对象选择题总结归纳

 更新时间:2019年01月15日 15:32:43   作者:kuls  
今天小编就为大家分享一篇关于Java面向对象选择题总结归纳,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

把最近听的写的一些题目做下笔记!

1.下列程序的执行,说法错误的是 ( ABC )

public class MultiCatch  {
  public static void main(String args[]){
    try{
      int a=args.length;
      int b=42/a;    //10行
      int c[]={1};
      c[42]=99;
      System.out.println("b="+b);
    }catch(ArithmeticException e){           
      System.out.println("除0异常:"+e);       // 15行
    }catch(ArrayIndexOutOfBoundsException e) {
      System.out.println("数组超越边界异常:"+e);   // 19行
    }
  }
}

A、程序将输出第15行的异常信息
B、程序第10行出错
C、程序将输出”b=42”
D、程序将输出第15或者19行的异常信息

笔记:首先分析A选项,它说第15行将会输出异常信息,那我们先看下整个程序,int a =args.length 这一句是获取args数组的长度,这个地方也许很多人都不清楚,都认为这里就是空的,也就是长度为0,那么肯定会抛出异常的,但是其实这个main中的这个数组是可以赋值的(这里大家可以百度一下),这个赋值是很特殊的,所以A不对,不一定会抛出异常。

同样B也是一样的道理。

我们看C、程序将输出”b=42”。很显然如果args数组真为0,那么他会跳过System.out.println(“b=”+b);直接进入catch语句抛出异常,所以不一定会输出42。

看D、程序将输出第15或者19行的异常信息,很显然数组越界是百分之百会报错的,但是不一定会有除0异常,所以D对。

2. 此方法返回值是多少(B )

public static int divide(){
    int i = 3;
    try {
      int a = 10/0;
      return i;
    } catch (Exception e) {
      i = 4;
      return i;
    }finally{
      i = 5;
    }
  }

A.3
B.4
C.5
D.报异常错误

分析:这个题确实有点坑,但是return掌握完全 就没问题了,相信大部分人选C,但实际答案确实B。我们先一步一步分析,首先try中的肯定会抛出异常,于是到了int a =10\0 的时候就直接跳到了catch语句中,此时i被赋值为4,并且此时return 返回 i值,我们都知道finally的语句中是最后一定会执行的,但是我们在catch中把 i 给返回了,其他的任何赋值都没用!!!

所以选B。

3。对于catch子句的排列,下列哪种是正确的( B )

A、父类在先,子类在后
B、子类在先,父类在后
C、有继承关系的异常不能在同一个try程序段内
D、先有子类,其他如何排列都无关

分析:我举两个

像底下这种,是可以的

public class MultiCatch  {
public static void main(String args[]){
try{
。。。。此处省略
}catch(ArithmeticException e){       //子类异常    
System.out.println("除0异常:"+e);       
}catch(Exception e) {
System.out.println("异常:"+e);   //父类异常
}
}
}

像底下这种就不行,回报错,因为Exception是很大的一个类,基本所有异常都继承于它,有了它就可以处理所有的异常,所以导致后面写的就没有意义,所以是错的

public class MultiCatch  {
public static void main(String args[]){
try{
。。。。此处省略
}catch(Exception e){       //父类异常    
System.out.println("异常:"+e);       
}catch(ArithmeticException e) {
System.out.println("除0异常:"+e);   //子类异常
}
}
}

好吧,今天就写这么多,以后会继续给大家分享我做的一些题目

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 什么是springMVC 视图和视图解析器实例代码

    什么是springMVC 视图和视图解析器实例代码

    在 springMVC 中的目标方法最终返回都是一个视图,返回的视图都会由一个视图解析器来处理,这篇文章主要介绍了什么是springMVC 视图和视图解析器,需要的朋友可以参考下
    2023-09-09
  • Java格式化日期和时间三种方法

    Java格式化日期和时间三种方法

    这篇文章主要给大家介绍了关于Java格式化日期和时间三种方法的相关资料,最近遇到很多在Java里获取当前时间的问题,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Mybatis分页插件使用方法详解

    Mybatis分页插件使用方法详解

    这篇文章主要为大家详细介绍了Mybatis分页插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • spring boot整合redis实现RedisTemplate三分钟快速入门

    spring boot整合redis实现RedisTemplate三分钟快速入门

    这篇文章主要介绍了spring boot整合redis实现RedisTemplate三分钟快速入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringBoot 自定义注解异步记录复杂日志详解

    SpringBoot 自定义注解异步记录复杂日志详解

    这篇文章主要为大家介绍了SpringBoot 自定义注解异步记录复杂日志详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java中@Async异步失效的9种场景

    Java中@Async异步失效的9种场景

    最近在项目某个方法使用@Async注解,但是该方法还是同步执行了,异步不起作用,到底是什么原因呢?接下来本文给大家介绍了Java @Async异步失效的9种场景,需要的朋友可以参考下
    2024-05-05
  • Eclipse在线安装hibernate插件

    Eclipse在线安装hibernate插件

    这篇文章主要介绍了Eclipse在线安装hibernate插件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Java JSON提取工具JsonExtractor的使用

    Java JSON提取工具JsonExtractor的使用

    本文主要介绍了Java JSON提取工具JsonExtractor的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java GUI编程实现在线聊天室

    Java GUI编程实现在线聊天室

    这篇文章主要为大家详细介绍了Java GUI编程实现在线聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 浅析Java Mail无法解析带分号的收件人列表的问题

    浅析Java Mail无法解析带分号的收件人列表的问题

    JAVA MAIL严格按照RFC 822规范进行操作,没有对分号做处理。大多数邮件服务器都是严格遵循RFC 822规范的
    2013-08-08

最新评论