异常处理、数组、常用类测试总结FancyLab

来源:互联网 发布:windows moive maker 编辑:程序博客网 时间:2024/06/06 13:01

一、填空题

1、Throwable 类有两个子类:Error类和Exception类

解析:我们知道Throwable类是java.lang包中的,他的父类是Object,其子类是Error和Exception。其中Error一般指的是与虚拟机相关的问题,一般遇到Error都是

处理不了的。Exception是可以处理的异常,

AclNotFoundException,ActivationException,AlreadyBoundException,ApplicationException,AWTException,BackingStoreException,BadAttributeValueExpException,BadBinaryOpValueExpException,BadLocationException,BadStringOperationException,BrokenBarrierException,CertificateException,ClassNotFoundException,CloneNotSupportedException,DataFormatException,DatatypeConfigurationException,DestroyFailedException,ExecutionException,ExpandVetoException,FontFormatException,GeneralSecurityException,GSSException,IllegalAccessException,IllegalClassFormatException,InstantiationException,InterruptedException,IntrospectionException,InvalidApplicationException,InvalidMidiDataException,InvalidPreferencesFormatException,InvalidTargetObjectTypeException,InvocationTargetException,IOException,JMException,LastOwnerException,LineUnavailableException,MidiUnavailableException,MimeTypeParseException,NamingException,NoninvertibleTransformException,NoSuchFieldException,NoSuchMethodException,NotBoundException,NotOwnerException,ParseException,ParserConfigurationException,PrinterException,PrintException,PrivilegedActionException,PropertyVetoException,RefreshFailedException,RemarshalException,RuntimeException,SAXException,ServerNotActiveException,SQLException,TimeoutException,TooManyListenersException,TransformerException,UnmodifiableClassException,UnsupportedAudioFileException,UnsupportedCallbackException,UnsupportedFlavorException,UnsupportedLookAndFeelException,URISyntaxException,UserException,XAException,XMLParseException,XPathException除了其中的RuntimeException异常,叫运行时异常,这种错误可以去捕获它也可以不捕获它。其它的全都是编译时就可以发现的异常,这种异常你要么抛出要么捕获它。

2、java虚拟机能够处理RuntimeException异常。

解析:RuntimeException异常是运行时异常,这类异常是在java虚拟机上可能抛出的异常。所以虚拟机能够捕获。

3、异常可分为运行异常和非运行异常,其中非运行异常又称为编译异常。

解析:非运行异常是由java编译器编译时要求你必须抛出或是捕获异常,所以又称为编译异常。在main方法中抛出的异常就交给运行时系统。不推荐抛出,最好是捕获。

4、按异常处理不同可以细分为捕获异常、声明异常、和自定义异常几种。

(链接异常处理(牛掰))

解析:声明异常:在方法头处声明一个异常,用throws,声明可以在方法体内可抛出异常,也可不抛出异常,声明异常只是该方法中可能抛出该种异常。一旦声明了异常,那么该方法的调用者就必须抛出或是捕获该异常。如果在方法体内抛出了一个异常,不管有没有if /else语句,都要在方法头处声明该异常。

捕获异常:用try-catch语句去驳货该异常。

自定义异常:要继承Exception类或Exception的子类,定义自己的异常,(如果要是从RuntimeException继承的话,可捕获可捕获。);

Exception类的构造方法中String类型参数message以后可以通过Throwable.getMessage()方法来检索它。

5、对程序语言而言,一般有编译错误和运行错误两种。

解析:编译时出现的错误,必须要捕获或是抛出,不建议抛出,运行错误是运行时出的错,有java虚拟机来帮我处理的异常。

二、单项选择。

1、哪个异常可以不选择在try-catch中处理。

A.EOFException、B.FileNotFountException  C.IllegalAccessException   D ArithmeticException

解析:A、当输入过程中意外到达文件或流的末尾时,抛出此异常,输入IOException异常。

B、文件找不到的异常,属于IOException,必须对其进行处理。

C、IllegalAccessException异常是没有访问权限的异常,当你的程序想要访问另外一个类或是方法或是变量的时候回抛出此异常。

D、算术异常,属于RuntimeException异常。可以不对其进行捕获。

2、执行语句int[] x=new int[5],下面正确的是:

A x[4]位0  B x[4]未定义  C x[5]为0  D x.length为4

解析:java中使用new 关键字创建一个数组。引用x在栈内存中,当你new了一个数组之后,在堆中分配相应的内存,有5个小格,每个小格都有初始值,int类型的默认是0,引用类型的是null,等等。

3、下面那个创建数组的方式错误:

A int[] intArray1,intArray2;

B int intArray1[],intArray2;

C int[] intArray=new int[10];

D int[] intArray=new int[]{1,2,3,4};

解析:第一种创建数组的方式是可行的


第二种创建数组的方式是不可行的,看都能看出来。

第三种不解释

第四种


4、下列String类的()方法返回指定字符串的一部分。

A、extractstring()这个方法为什么没有,API中查不到。网上找也没有。

B、substring()方法是正确的,该方法可以返回从某个下标开始到末尾或是指定长度的字符串。

C、Substring()额额,这算是混淆视听吗?

D、Middlestring(),这应该不是一个方法。而且String类没有这个方法。

类名:首字母大写,其他单词中首字母大写,其他小写
方法名:首字母小写,其他单词中首字母大写,其他小写
变量:与方法名规则同
包名:全部小写
5、以下程序的输出结果是(C)

substring()方法虽然截取字符串,但是它是返回一个子字符串,没有东西来接收它,那个concat()方法是String类的一个用于连接两个字符串的,它也是返回一个字符串。

6、



解析:这道题中,马士兵的基础视频中字符串常量都是放在data segment内存区域中,网上有一篇博客讲的是放在常量池中。常量池是放在堆内存中。下面有链接。

浅谈JAVA中字符串常量的储存位置

http://www.cnblogs.com/cherryljr/p/6230380.html

总之java虚拟机发现放常量的地方有了一个"Hello"常量,那么s2也是会指向这个常量的内存块。String类重写了equals()、toString()方法,其中equals()方法

不再是其父类Object那样比较两个对象在内存中的地址是不是一样,而是比较两个字符串是不是完全一样。

7、


解析:父类引用或是接口引用指向子类对象,面向对象的多态性。子类不可以指向父类对象,接口怎么能指向接口呢。

8、


解析:


三、程序阅读题

(略)。








原创粉丝点击