I\'ve been through a few questions over the network about this subject but I didn\'t find any answer for my question, or it\'s for another language or it doesn\'t answer totally
In your loop there are two an operation implicit in each iteration. An increment:
j++;
and comparison
j
So, the loop is not empty although it looks like it is. There is something being executed at the end and this is not ignored by the compiler of course.