У меня есть простой вопрос, почему нам нужно использовать специальные литералы, когда уже очевидно, какой тип переменной мы используем.Зачем нам нужны числовые литералы в Java?
Например, вы можете видеть, что мы используем двойной тип здесь. И я думаю, что компилятор тоже должен это видеть. Но если я бегу такой код:
double no_double = 60*(1000/3600);
System.out.format("result is: %.3f",no_double);
Я получаю результат: 0,000
.
Но если я запускаю этот код:
double a_double = 60.0*(1000.0/3600.0);
System.out.format("result is: %.3f",a_double);
Тогда я получаю верный результат: 16,667
.
Так зачем нам использовать литералы?
выше. Java Примитивные типы данных http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
Это все литералы. Что вы имеете в виду, «зачем нам явно различать целые и плавающие литеры?». –
Но ответ таков; потому что это не так, как работает язык. В общем, типы подвыражений не выводятся из того, где они используются. –
@Reimeus 'double' вовсе не является именем, это ключевое слово и именование переменной' double' приведет к сбою компилятора :) – BackSlash