这段JAVA输出为什么是 0 1 而不是0?

2024-11-17 16:37:38
推荐回答(1个)
回答(1):

因为for-i循环在没有大括号的情况下,只作用于for(int i = 0;i < 2;i++)后面的第一条语句System.out.print(i + " ");,换句话说,就是 for(int i = 0;i < 2;i++)和System.out.print(i + " ");构成了一个完整的for循环语句,所以它执行完了后,才会执行System.out.println(1 / 0);.

而for循环执行完毕,就会输出 0 1,然后才会抛出异常,执行catch部分.

如果有大括号并且象下面这样就只输出 0 ,而不会输出 1 了.

package dealWithErrors;
public class Test12_6_a { 
 public static void main(String[] args) {  
  try{        
   for(int i = 0;i < 2;i++){     
    System.out.print(i + " ");       
    System.out.println(1 / 0);
   }
  }catch(Exception ex){             
  }       
 }
}

运行结果

0