for(int i=0; i<10;i++){
int j=0;
}
Is j a block variable or a local variable? I see that j's scope is only till the for loop ends
for(int i=0; i<10;i++){
int j=0;
}
Is j a block variable or a local variable? I see that j's scope is only till the for loop ends
j has scope in the loop only, outside the loop, j can not be accessed. For more on scopes, refer the link, it will be helpful.
The word "local" means that something is available somewhere, but not outside the bounds of this "somewhere". In Java variables declared inside a block have a block scope, which means that they're available only inside this block - they're local to it.
Local variables are declared in methods, constructors, or blocks.
From that it's clear that, All block variables are local variable's.
As per definition of Block
So
What ever the variables declared inside the block ,the scope restricted to that block.
So
J
scope is restricted to inside that block. That is for loop.j variable is accessible inside {this block} only. That not only means that it can't be changed anywhere else, but also it is recreated every time loop loops.
It is a local variable to that for block. Outside of that for loop, j will cease to exist.