Числа в Java с 0 префиксом и со строками
Рассмотрим следующую программу:
import java.io.*;
class GFG
{
public static void main (String[] args)
{
int x = 012;
System.out.print(x);
}
}
Вывод: 10
Причина этого вывод заключается в том что когда значение с префиксом 0, то значение считается восьмеричным, 12 в восьмеричной системе является числом 10 в десятичной системе. Таким образом, если задать значение переменной i = 0112, то результатом будет 74 (в десятичной системе).
Так же,
import java.io.*;
class GFG
{
public static void main (String[] args)
{
String s = 3 + 2 + "hello" + 6 + 4;
System.out.print(s);
}
}
Вывод: 5hello64
Java сначала складывает первые 2 цифры, и конвертирует их в тип int, затем, как только встречаются строки, то все следующие значения так же конвертируются в строки.
Эта статья является переводом этой статьи.