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?
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?
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);
}