这样的代码:
int i=0;
while(i<3){
int j=1;
i++;
}
由于循环,那么j是不是被重复定义了三次?还是一次?编译器会报错吗?(我在JDK中编译时没报错),在内存中j是不是占用了三份的内存?
int i=0;
while(i<3){
int j=1;
i++;
}
由于循环,那么j是不是被重复定义了三次?还是一次?编译器会报错吗?(我在JDK中编译时没报错),在内存中j是不是占用了三份的内存?
局部变量,出了这个大括号他就失去了意义;
名义上的j是占用了3份内存,但每个占用内存的“j”不是同一个“j”,
出了大括号,系统就收回了内存(虚拟机操作当然是延迟的)
为什么如查我不在循环中重复定义编译器就报错?int a;
int a;
a++;这样的代码编译时就报错?
Dim i As Integer
i = 0
While (i < 3)
i = i + 1
Dim x As Integer
x = 10
Wend
MsgBox x
这个X仍能显示为10,不知道VB的解释器或编译器又是怎么处理的?!
JAVA的变量的作用域就是大括号为界限.