第一种:(正常顺序之) try{}catch(){}finally{}return;
按正常顺序执行即可;
第二种:(try{return}) try{return;}catch(){}finally{}return;
先try执行到return之前含return紧挨着的语句,然后继续往下执行,执行完finally,转到try的return语句,返回,注意:此时的返回值是try中的值,而非其他值;
eg、int a=0;try{a++;return a;}catch(Exception e){e.printStackTrace();}finally{a=100;}return;
此时return的a值是1,而非100;
第三种:(catch(){return;}) try{}catch(){return;}finally{}return;
跟第二种保持一致,不过多赘述;
第四种: try{return;}catch(){}finally{return;}return;
一旦finally中有return语句,那么不管try或者catch中有return,都会直接截胡,懂意思吧,就是直接在finally中的return执行后,不会再跳回try/catch的return那里了;
System.exit(0);终止当前虚拟机运行,程序直接退出;