Java面向对象相关面试题
- 更新时间:2020-07-09 22:31:38
- 编辑:潘新觉
参考资料
正文内容
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); //子类异常 } } }
好吧,今天就写这么多,以后会继续给大家分享我做的一些题目
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。如果你想了解更多相关内容请查看下面相关链接
相关教程
-
JavaWeb乱码问题的解决方法
这篇文章主要给大家介绍了关于JavaWeb乱码问题的终极解决方案,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaWeb具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
发布时间:2019-07-29
-
Java调用shell脚本解决传参及权限问题的具体代码
今天小编就为大家分享一篇关于Java调用shell脚本解决传参和权限问题的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
发布时间:2019-08-29
-
详解java中jvm逃逸问题
本篇文章给大家详细总结了java中jvm逃逸问题的相关内容,有兴趣的朋友可以根据小编一起学习下。
发布时间:2020-01-20
-
Javascript中封装window.open不兼容问题的处理方法
window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行,下面有个实例,大家可以看看
发布时间:2020-02-02
-
Java数组越界问题代码详解
这篇文章主要介绍了Java数组越界问题实例解析,具有一定参考价值,需要的朋友可以了解下。
发布时间:2019-12-05
-
Java获取文件路径出现乱码的问题的解决方法
今天小编就为大家分享一篇完美解决Java获取文件路径出现乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-09-02
-
CCF之门禁系统java解题代码
这篇文章主要为大家详细介绍了CCF考试试题之门禁系统java解题代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2020-02-05
-
Java关于参数传递问题
这篇文章主要介绍了Java中的参数传递问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2020-03-27
-
如何处理jQuery符号$与其他javascript 库、框架冲突的问题
下面小编就为大家带来一篇完美解决jQuery符号$与其他javascript 库、框架冲突的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2020-01-13
-
Java工程师面试题2020整理
在本篇文章里小编给大家整理的是关于Java 工程师面试题的相关知识点,有需要的可以参考下。
发布时间:2020-01-16
-
Java从入门到项目实践
大小:73.7 MBJava入门电子书
-
Java函数式编程
这是一本关于函数式编程的书,由浅入深地介绍了函数式编程的思维方式,非常适合对Java有所了解的程序员,欢迎下载
大小:205.8 MBJava编程电子书
-
揭秘Java虚拟机:JVM设计原理与实现
《揭秘Java虚拟机》Java工程师高质量成长的必读本,谷歌官方认可的android开发语言Kotlin的基石。看透JVM设计思想与原理,彻底领悟JAVA编程精髓,以不变应万变!
大小:186.2 MBJava虚拟机电子书
-
Java软件结构与数据结构
Java软件结构与数据结构(第4版) 由著名作者JohnLewis(刘易斯)编写,本书始终以良好软件工程实践为准则,以Java为语言,介绍数据结构与算法的相关知识和具体实现,强调完美软件设计技巧的重要
大小:129 MBJava电子书
-
Java游戏编程开发教程
Java游戏编程开发教程 是一本面向广大编程爱好者的游戏设计类图书。本书从最基本的Java图形开发开始,对游戏的原理及其Java程序实现进行了详细介绍,包括动画的实现、音效的处理、鼠标和
大小:160.3 MBJava编程电子书