public class HelloWorld {
public static void main(String[] args) {
// 变量保存成绩
int score = 53;
// 变量保存加分次数
int count = 0;
//打印输出加分前成绩
System.out.println("加分前成绩:"+score);
// 只要成绩小于60,就循环执行加分操作,并统计加分次数
for(;count<999;count++){
if(score>=60)
break;
score+=1;
}
//打印输出加分后成绩,以及加分次数
System.out.println("加分后成绩:"+score);
System.out.println("共加了"+count+"次!");
}
这样程序没有问题。
如果 把 int count = 0;删除,改成 for (int count = 0;count<999;count++)、
就报错:
/85/1554/BMWo/HelloWorld.java:25: error: cannot find symbol
System.out.println("???"+count+"??");
^
symbol: variable count
location: class HelloWorld
1 error
你如果改成for (int count = 0;count<999;count++) count就只能在循环里面使用了,
所以System.out.println("共加了"+count+"次!");这里面的count系统不能识别
public class HelloWorld {
public static void main(String[] args) {
// 变量保存成绩
int score = 53;
// 变量保存加分次数
int count = 0;
System.out.println(score);
//打印输出加分前成绩
// 只要成绩小于60,就循环执行加分操作,并统计加分次数
if(score<60)
{
score+=1;
count+=1;
}
System.out.println(score);
System.out.println(count);
//打印输出加分后成绩,以及加分次数
}
}
System.out.println("共加了"+count+"次!");找不到count,count的作用域在for循环内
变量作用域的问题,如果int count=0在for循环括号里,那么for循环之外就取不到count的值了