zoukankan      html  css  js  c++  java
  • try,finally中都有return时程序的执行顺序

    try代码块中包含return语句,finally代码块中不包含return语句;package Exception;

    public class Test02 {
    	public static void main(String[] args) {
    			System.out.println(test());
    	}
    	public static int test(){
    			try{
    				int i=1;
    				return i;
    			}
    			finally{
    				int i=2;
    				System.out.println(i);
    			}
    	}
    }
    

    结果

    2
    1
    

    try代码块和finally代码块中都有return语句

    public class Test01 {
    
    	public static void main(String[] args) {
    		
    		System.out.println(test());
    	}
    	
    public  static int  test(){
    		try{
    			int i = 1;
    			return i;
    		   }
    		finally{
    			int j = 2;
    			return j;
    		}
    }	
    }
    

    结果

    2
    

    结论

    1.如果try代码块里有return语句,而finally代码块里没有return语句,程序会先执行finally代码块里的代码然后再执行try代码块里的return语句;

    2.如果try代码块和finally代码块里都有return语句,try代码块里的return语句会优先finally代码块里的return语句执行,但不会把返回的结果返回给主函数,而是会把finally代码块里return的结果返回给主函数。

  • 相关阅读:
    checkbox的checked事件的javascript使用方法
    JSTL标签API(c)的使用
    radios控件的使用
    验证方法判斷input是否为空
    软件课设Day5
    软件课设Day4
    软件课设Day3
    软件课设Day2
    软件课设Day1
    2019/08/23最新进展
  • 原文地址:https://www.cnblogs.com/mewcoder/p/11670002.html
Copyright © 2011-2022 走看看