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
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
A block is a group of zero or more statements between balanced braces and can be used anywhere a single statement is allowed.
So
{ //block started
} //block ended
What ever the variables declared inside the block ,the scope restricted to that block.
for(int i=0; i<10;i++){
int j=0;
}
So J scope is restricted to inside that block. That is for loop.
for(int i=0; i<10;i++){
int j=0;
//do some thing with j ---> compiler says "yes boss"
}
//do some thing with j ---> compiler says "Sorry boss, what is j ??"
Local variables are declared in methods, constructors, or blocks. hope you understand :)All block variables are local variable's. You can refer in both the ways.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.
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.
block variablewhich islocalto thefor loop, ie the block. So it isblock variableandlocal variable with respect to the loop block.