Function for Java

1

I have the following code:

public class Programa{
    public static void main(String args[]){
        int a = 10;
        for (int i = 1; i<=2; i++){
            for(int j=0; j<=2; j++){
                if((i%2 == 0) && (j % 2 == 0)) {
                    a = a * 2;
                } else {
                    a = a + 1;
                }
            }
        }
        System.out.println("O valor de a é " + a);
    }
}

Everything in it I can fully understand, minus the part of the for. Testing the program results in 54, but how and why? I'm having trouble interpreting it.

    
asked by anonymous 08.04.2015 / 02:33

1 answer

4

Run the code below and see if it helps you understand:)

public class Programa {
    public static void main(String args[]){
        int a = 10;
        for (int i = 1; i<=2; i++){
            for(int j=0; j<=2; j++){
                System.out.println("\nCom i = " + i + " e j = " + j + ", temos: ");
                System.out.println("O valor de a, antes do IF/ELSE, é " + a); 
                if((i%2 == 0) && (j % 2 == 0)) {
                    a = a * 2;
                    System.out.println("O valor agora depois do IF é " + a);
                } else {
                    a = a + 1;
                    System.out.println("O valor agora depois do ELSE é " + a);
                }
            }
        }
        System.out.println("O valor de a ao final é " + a);
    }
}

Program exit:

Com i = 1 e j = 0, temos: 
O valor de a, antes do IF/ELSE, é 10
O valor agora depois do ELSE é 11

Com i = 1 e j = 1, temos: 
O valor de a, antes do IF/ELSE, é 11
O valor agora depois do ELSE é 12

Com i = 1 e j = 2, temos: 
O valor de a, antes do IF/ELSE, é 12
O valor agora depois do ELSE é 13

Com i = 2 e j = 0, temos: 
O valor de a, antes do IF/ELSE, é 13
O valor agora depois do IF é 26

Com i = 2 e j = 1, temos: 
O valor de a, antes do IF/ELSE, é 26
O valor agora depois do ELSE é 27

Com i = 2 e j = 2, temos: 
O valor de a, antes do IF/ELSE, é 27
O valor agora depois do IF é 54

O valor de a ao final é 54
    
08.04.2015 / 02:53