public class hellow
{
public static void main(String args[])
{
int a=5;
for(int b=0; b<a;b++)
{
for(int c=b;c<a;c++){
System.out.print(" ");
}
for(int c=0;c<=b;c++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
public class hellow
{
int c=0;
int c=1;
System.out.print(c);}
请教下上面为什么能两次定义int c 下面就提示错误;
{
public static void main(String args[])
{
int a=5;
for(int b=0; b<a;b++)
{
for(int c=b;c<a;c++){
System.out.print(" ");
}
for(int c=0;c<=b;c++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
public class hellow
{
int c=0;
int c=1;
System.out.print(c);}
请教下上面为什么能两次定义int c 下面就提示错误;
上面的两个c, 定义在不同的代买块里,第一个循环里定义了一个变量c, 它只在这个循环里起作用,出了这个循环,这个变量就没有了。第二个循环也一样。举个(可能不太恰当)例子,一列火车有13节车厢,编号可从1到13,试想一下你把两节车厢都编成1号,其他的11节从2编到12,那在这列火车上怎么区分个1号车厢到底是哪个? 所以显然不能这样编号。
但两列不同的火车就可以都编1号车,去广州的火车1号车厢和去哈尔滨的火车的1号车厢,完全能区分开。
而下面的两个c的作用域相同,你输出的时候你不知道输出的是哪个,系统也不会知道,自然报错 ,
不能定义两个相同的变量的前提条件是作用域相同
作用域不同 ,随意你定义,互不影响,例如每个函数中都可以有int i ;
至于作用域的作用范围自己去看书吧。基础中的基础