Yes. "y" exists only inside that inner "for" loop. As soon as that loop is through executing, it's as if "y" never existed. The next time around the outer loop, everything starts fresh, and you get a brand new copy of "y".
Thanks for helping with the first question. Now here's my other (probably last one, for now). When the statement 'break;' occurs in the code above, which loop does it break out of? Why?
break is used to get out of a for/while/do/switch loop. It gets out of the loop where the break lies in. In your example, it breaks from the for(int inner...) loop.