Java基础习题(二)——异常

Java习题

Java入门习题

Java入门习题(一)——对象导论

Java入门习题(二)——操作符、控制符

Java入门习题(三)——初始化

Java入门习题(四)——接口、继承和多态

Java入门习题(五)——内部类

Java入门习题(六)——数组

Java基础习题

Java基础习题(一)——集合

Java基础习题(二)——异常

1,请写出下列程序的运行结果
class Demo{
	public static String output="";
	public static void func(int i){
		try{
			if(i==1)
				throw new Exception();
			output+="1";
		}catch(Exception e){
			output+="2";
			return ;
		}finally{
			output+="3";
		}
		output+="4";
	}
	public static void main(String[] args){
		func(0);
		System.out.println(output);
		func(1);
		System.out.println(output);
	}
}

参考答案:

134
13423

答案解析

finally块中的内容无论什么情况都会执行
2,请写出下列程序的运行结果
class Demo{
	static void func() throws Exception{
		try{
			throw new Exception();
		}finally{
			System.out.println("B");
		}
	}
	public static void main(String[] args){
		try{
			func();
			System.out.println("A");
		}catch(Exception e){
			System.out.println("C");
		}finally{
			System.out.println("D");
		}
	}
}

参考答案:

B
C
D
3,请写出下列程序的运行结果
class Demo{
	public static void main(String [] args){
		try{
			throw new RuntimeException();
		}catch(Exception e){
			System.out.println("exception");
		}catch(RuntimeException e){
			System.out.println("runtime exception");
		}
	}
}
编译失败,父类异常应在最后捕获,否则子类异常捕获代码块永远都不会执行
4,请写出下列程序的运行结果
class Demo(){
	public static void show() throws Exception{
		throw new Exception();
	}
	public static void main(String [] args){
		try{
			show();
			System.out.println("A");
		}catch(Exception e){
			System.out.println("B");
		}finally{
			System.out.println("C");
		}
		System.out.println("D");
	}
}

参考答案

B
C
D
5,请写出下列程序的运行结果
class Demo{
	public static void func(){
		try{
			throw new Exception();
			System.out.println("A");
		}cacth(Exception e){
			System.out.println("B");
		}
	}
	public static void main(String [] args){
		try{
			func();
		}catch(Exception e){
			System.out.println("C");
		}
		System.out.println("D");
	}
}

参考答案

编译失败,原因:throw 之后不能定义语句。

5

Java基础习题(三)——字符串

Java基础习题(四)——枚举类型

Java进阶习题

Java进阶习题(一)——类

Java进阶习题(二)——泛型与反射

Java进阶习题(三)——I/O

Java进阶习题(四)——注解

Java进阶习题(五)——多线程

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学java的期末复习资源,试题及答案 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A.java B..class C.html D..exe 2、下面哪一项字符序列可以作为合法的标识符( )。 A.true B.null C.2018_year D.$2018year 3、下列选项中,( )不属于Java语言的简单数据类型。 A.整数型 B.数组 C.字符型 D.浮点型 4、对于int a[ ]=new int[3],下列叙述错误的是( )。 A. a.length的值是3 B. a[1]的值是1 C. a[0]的值是0 D. a[a.length-1]的值等于a[2]的值 5、用下列哪个代码替换程序标注的【代码】会导致编译错误? A.m-->0 B.m++>0 C.m = 0 D.m>100&&true; public class E { public static void main (String args[ ]) { int m=10,n=0; while(【代码】) { n++; } } } 6、以下关于继承的叙述正确的是( )。 A. 在Java中类不能多继承 B. 在Java中一个类只能实现一个接口 C. 在Java中一个类不能同时继承一个类和实现一个接口 D. 在Java中接口只能单一继承 7、对于下列Cat类,哪个叙述是错误的?( ) A.Cat类只有 2 个构造方法,而且没有无参数的构造方法 B.Cat类有 4 个构造方法 C.Cat (int m)和 Cat (double m)是互为重载的构造方法 D.int Cat (int m)和 void Cat (double m) 是互为重载的非构造方法 class Cat { Cat (int m){ } Cat (double m){ } int Cat (int m){ return 23; } void Cat (double m){ }} 8、下列叙述哪些是正确的( )。 A final 类可以有子类 B abstract类中只能有abstract方法 C abstract类中可以有非abstract方法,但该方法不可以用final修饰 D 不可以同时用final和abstract修饰一个方法 9、假设D类有如下定义,设d是D类的一个实例对象,下列语句调用错误的是 ( )。 class D{ int i; static String s; void method1(){} static void method2(){}} A.d.method1(); B.D.method2(); C.D.method1(); D.System.out.println(d.i); 10、将下列( )哪个代码替换下列程序中的【代码】不会导致编译错误。 A.public int f(){return 100+M;} B.int f(){return 100;} C.public double f(){return 2.6;}。 D.public abstract int f();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值