——有throw异常的情况:
try-catch-finally块均可以修改全局变量;
注意直接输出a++是输出a,然后a再自增
——有return的情况
注意:输出num+=1即输出了num+1,不同于num++
总述:try语句在return前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,然后有三种情况:
①如果finally中没有return语句,也没有改变要返回值,则执行完finally中的语句后,会接着执行try中的return语句,返回之前保留的值。
②如果finally中有return语句,则会将try中的return语句”覆盖“掉,直接执行finally中的return语句,得到返回值,这样便无法得到try之前保留好的返回值。
③如果return的数据是引用数据类型,而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值