Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Zero a esquerda

Int Num1 = 0233;

Double Num2 = 0233;

System.out.println(Num1);

System.out.println(Num2);

Saída no console: 155

Saída no console: 155.0

Alguém porque se comporta desta maneira quando utiliza o zero ( 0 ) a esquerda?

1 resposta
solução!
    public static void main(String[] args) {

        /*
         * Quando coloca o zero na frente, o java
         * entende que esta passando uma referência para o tipo int
         * nesse caso ele converte para um numero do tipo
         * OCTAL
        */
        int    Num1 = 0255;
        double Num2 = 0255;
        System.out.println(Num1);
        System.out.println(Num2);

        //Decimal corresponde a 173

            Num1 = 233;
            Num2 = 233;
        System.out.println(Num1);
        System.out.println(Num2);

        //Decimal corresponde a 155        


        /*
         * O correto nestes casos é usar as classes do Java:
         * Integer, Double, String, com letra maiusculo no inicio.
         * Assim, o Java ira tipa-los corretamente e não ira deixar
         * receber valores de outros tipos, sem que seja por 
         * meio de cast(*)
         * */
        Integer Num3 = 233;
        Double  Num4 = 233.00;
        System.out.println(Num3);
        System.out.println(Num4);



    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software