Почему мы не должны использовать значение int для двойной переменной?(Экзамен ОСА) - PullRequest
1 голос
/ 28 сентября 2019

Я прочитал книгу "OCA Java SE 8" Мала Гупты, и возникает вопрос, как показано ниже: Mala Gupta - Chapter 2

Как я знаю, когда мы объявляем двойную переменную сЗначение int (например, опция «e» double a5 = 10), этот код все еще может быть скомпилирован, но почему в этом случае опция «e» является неправильным ответом?

Ответы [ 3 ]

1 голос
/ 28 сентября 2019

Тип double используется для хранения значений с плавающей запятой, а не целых значений.Он может содержать значение 10 (как 10.0), но также может содержать значение 3.452, которое не является целым числом.Таким образом, оператор

double x = ..;

не объявляет переменную для целочисленных значений.

0 голосов
/ 28 сентября 2019

Вы правы: от компилятора, который действителен: double a5 = 10.
Компилятор расширяет int, чтобы сохранить его как double без каких-либо побочных эффектов, поскольку double может содержать любое значение int.
Я думаю, что вопрос и ожидаемые ответы вводят в заблуждение.

Вопрос должен скорее относиться к наиболее адаптированному типу для хранения значения.
И в этом случае, ответ e) является неправильным, поскольку он использует тип, намного больший, чем требуется, который потребляет память дляне веские причины.int или даже short достаточно.

0 голосов
/ 28 сентября 2019

Это неправильный ответ, потому что целое число преобразуется в удвоенное и затем сохраняется.

Поэтому часть «переменная, которая хранит целые числа» не применяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...