Olá a todos, fiz o simulado do Caelum, errei algumas questões por falta de atenção mas enfim, essas 3 me deixaram curioso.
Primeira dúvida: considere a seguinte classe:
public class array {
public static void main(String args[]) {
int[][] a = new int[10][10];
for (int[] is : a) {
for (int i : is) {
System.out.println(i);
}
}
}
}
É o seguinte, como que essa classe compila se a variavel i nunca é inicializada?
Segunda dúvida:
Considere a seguinte classe:
class xyz {
public static void main(String... args) {
int y;
for (int x = 0; x < 10; ++x) {
y = x % 5 + 2;
}
System.out.println(y);
}
Por que essa classe não compila se a variável y é inicializada dentro do for?
E a última dúvida:
Considere a seguinte classe:
public class Fors{
static int i;
public static void main(String args[]){
for(i=0;i<3;i++){
System.out.print(i);
}
for(int i=2; i<3;i++){
System.out.print(i);
}
int i;
for(i=0;i<2;i++){
System.out.print(i);
}
System.out.print(Fors.i);
}
}
Pelo o que eu entendi no primeiro for ele chama o atributo estático i, portanto como ele chamou o atributo sem usar Fors.i?