Android(java)学习笔记83:finally关键字的作用
2015-05-21 10:07
471 查看
package cn.itcast_07; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * finally:被finally控制的语句体一定会执行 * 注意:如果在执行到finally之前jvm退出了,就不能执行了。 * * A:格式 * try...catch...finally... * B:用于释放资源,在IO流操作和数据库操作中会见到 */ public class FinallyDemo { public static void main(String[] args) { String s = "2014-11-20"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = null; try { // System.out.println(10 / 0); d = sdf.parse(s); } catch (ParseException e) { e.printStackTrace(); System.exit(0); } finally { System.out.println("这里的代码是可以执行的"); } System.out.println(d); } }
这下面是JVM退出了执行的结果:
package cn.itcast_07; /* * 面试题: * 1:final,finally和finalize的区别 * final:最终的意思,可以修饰类,成员变量,成员方法 * 修饰类,类不能被继承 * 修饰变量,变量是常量 * 修饰方法,方法不能被重写 * finally:是异常处理的一部分,用于释放资源。 * 一般来说,代码肯定会执行,特殊情况:在执行到finally之前jvm退出了 * finalize:是Object类的一个方法,用于垃圾回收 * * 2:如果catch里面有return语句,请问finally里面的代码还会执行吗? * 如果会,请问是在return前,还是return后。 * 会。前。 * * 准确的说,应该是在中间。 * * 3:try...catch...finally的格式变形 * A:try...catch...finally * B:try...catch * C:try...catch...catch... * D:try...catch...catch...finally * E:try...finally * 这种做法的目前是为了释放资源。 */ public class FinallyDemo2 { public static void main(String[] args) { System.out.println(getInt()); } public static int getInt() { int a = 10; try { System.out.println(a / 0); a = 20; } catch (ArithmeticException e) { a = 30; return a; /* * return a在程序执行到这一步的时候,这里不是return a而是return 30;这个返回路径就形成了。 * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40 * 再次回到以前的返回路径,继续走return 30; */ } finally { a = 40; //return a;//如果这样结果就是40了。 } return a; } }
相关文章推荐
- android 学习笔记(四) 4.2 java语法中的关键关键字 final
- Java并发编程学习笔记 深入理解volatile关键字的作用
- 【Java学习笔记之一】java关键字及作用
- Java4Android笔记之Java中的static关键字的作用
- Java基础学习笔记09——(final关键字,多态,抽象类,接口)
- Java学习笔记(十三):package关键字
- Java学习笔记(十五):import关键字
- Java学习笔记(十八):static关键字
- Java学习笔记(二十一):类型转换和instanceof关键字
- Java学习笔记(二十三):final关键字
- Java学习笔记(3)——关键字this的使用
- 11.笔记JAVA Spring框架学习————Bean作用域
- 【Java异常学习笔记系列】try/catch/finally执行顺序及总结(含return)
- Java学习笔记---Static、静态关键字、详解
- 学习笔记1:android java class文件头注释怎么写 FileHeader
- 学习笔记2:java 1.8 lamdba 表达式在android中的运用
- 学习笔记3:java 1.8 接口的默认方法 Defult 关键字
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.3关键字(4.3.4-4.3.6)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.3关键字(4.3.7-4.3.9)
- [JAVA学习笔记-83]Ant简单入门