下列程序的输出结果是什么?
1、Java循环和条件
/** * @Title:IuputData.java * @Package:com.you.data * @Description:TODO * @Author: 游海东 * @date: 2014年3月16日 下午10:18:46 * @Version V1.2.3 */ package com.you.data; /** * @类名:IuputData * @描述:TODO * @Author:Administrator * @date: 2014年3月16日 下午10:18:46 */ public class IuputData { /** * @Title : main * @Type : IuputData * @date : 2014年3月16日 下午10:18:47 * @Description : TODO * @param args */ public static void main(String[] args) { for(int i=0;i<100;i++) Integer inte = new Integer(i); System.out.println("YouHaidong"); } }
运行Java Application,出现错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Syntax error, insert "AssignmentOperator Expression" to complete Assignment Syntax error, insert ";" to complete Statement Integer cannot be resolved to a variable inte cannot be resolved to a variable i cannot be resolved to a variable at com.you.data.IuputData.main(IuputData.java:29)
局部变量声明的作用范围是在一个块内,for循环仅限于执行语句。
由于这段代码中的Integer inte 的作用范围在整个main方法中,这样就造成了变量重复定义,
出现程序编译错误
2、正确的做法
/** * @Title:IuputData.java * @Package:com.you.data * @Description:TODO * @Author: 游海东 * @date: 2014年3月16日 下午10:18:46 * @Version V1.2.3 */ package com.you.data; /** * @类名:IuputData * @描述:TODO * @Author:Administrator * @date: 2014年3月16日 下午10:18:46 */ public class IuputData { /** * @Title : main * @Type : IuputData * @date : 2014年3月16日 下午10:18:47 * @Description : TODO * @param args */ public static void main(String[] args) { for(int i=0;i<100;i++) { Integer inte = new Integer(i); } System.out.println("YouHaidong"); } }
输出:YouHaidong