Вопросы и ответы по типам данных в Java

Эта викторина из 10 вопросов поможет вам проверить ваши знания по типам данных в Java. За каждым вопросом следует правильный ответ с кратким объяснением.

1. Что выведет следующий фрагмент кода на Java?

char ch = 'A';
int num = ch;
System.out.println(num);

a) 65
b) A
c) Compilation error
d) Runtime error

Ответ:
a) 65

Объяснение:
В языке программирования Java символьные значения типа char сохраняются в формате Unicode. Например, значение Unicode для символа ‘A’ равно 65. Поэтому, когда переменная ch, содержащая символ ‘A’, неявно преобразуется в тип int, она отображается как число 65.

2. Что выводит этот фрагмент кода на Java?

double value = 9.78;
int number = (int) value;
System.out.println(number);

a) 9.78
b) 9
c) 10
d) Compilation error

Ответ:
b) 9

Объяснение:
Приведение double к типу int убирает десятичную часть числа, поэтому  9,78 становится 9.

3. Определите вывод следующего кода:

byte b1 = 127;
byte b2 = -128;
System.out.println(b1 + " " + b2);

a) 127 -128
b) 128 -129
c) Compilation error
d) Runtime error

Ответ:
a) 127 -128

Объяснение:
Тип данных byte в Java имеет диапазон значений от -128 до 127. Таким образом,  b1 имеет значение 127, а b2 равна -128.

4. Что будет выведено на экран?

float f = 100.001f;
double d = f;
System.out.println(d);

a) 100.001
b) 100.0
c) 100.001000046
d) Compilation error

Ответ:
c) 100.001000046

Объяснение:
Тип float имеет меньшую точность, чем double. Поэтому, когда значение типа float присваивается переменной типа double, оно автоматически преобразуется в тип double для сохранения большей точности.

5. Что выведет этот фрагмент кода?

long l = 100L;
float f = l;
System.out.println(f);

a) 100
b) 100.0
c) 100L
d) Compilation error

Ответ:
b) 100.0

Объяснение:
Тип float используется для представления чисел с плавающей точкой, поэтому результатом будет 100.0.

6. Каков результат выполнения этого кода?

boolean flag = false;
if (!flag) {
    System.out.println("False");
} else {
    System.out.println("True");
}

a) False
b) True
c) Compilation error
d) Runtime error

Ответ:
a) False

Объяснение:
Оператор ! меняет логическое значение на противоположное. Если переменная flag равна false, то !flag становится true, и поэтому выводится “False”.

7. Что выведет следующий фрагмент кода?

short s = 10;
s = (short) (s + s);
System.out.println(s);

a) 10
b) 20
c) Compilation error
d) Runtime error

Ответ:
b) 20

Объяснение:
Результат выражения s + s преобразуется в тип int. Чтобы присвоить его обратно переменной s, нужно привести его к типу short. Значение переменной s становится 20.

8. Что выведет следующий фрагмент кода?

String str = "12345";
int num = Integer.parseInt(str);
System.out.println(num);

a) 12345
b) “12345”
c) Compilation error
d) Runtime error

Ответ:
a) 12345

Объяснение:
Integer.parseInt преобразует String  “12345” в int 12345.

9. Что будет выведено на экран?

int a = '2' - '0';
System.out.println(a);

a) 2
b) 50
c) 32
d) Compilation error

Ответ:
a) 2

Объяснение:
В Java значения типа char хранятся как значения Unicode. Значение Unicode для символа ‘2’ равно 50, а для символа ‘0’ – 48. Следовательно, выражение оценивается как 50 – 48 и дает в результате 2.

10. Каков результат выполнения следующего фрагмента кода?

double d1 = 0.1;
double d2 = 0.2;
double sum = d1 + d2;
System.out.println(sum);

a) 0.3
b) 0.30000000000000004
c) 0.30000000000000003
d) 0.29999999999999999

Ответ:
b) 0.30000000000000004

Объяснение:
В Java при использовании чисел с плавающей точкой могут возникать ошибки в точности. Например, при сложении 0.1 и 0.2 вместо ожидаемого 0.3 мы получаем значение 0.30000000000000004.

Перевод статьи «Java Data Types Coding Questions and Answers».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *