Главная страница

ревью_1. Какие примитивные типы есть в java Целые типы (byte, short, int, long, char)


Скачать 58.19 Kb.
НазваниеКакие примитивные типы есть в java Целые типы (byte, short, int, long, char)
Дата06.01.2023
Размер58.19 Kb.
Формат файлаdocx
Имя файларевью_1.docx
ТипДокументы
#874147

  1. Какие примитивные типы есть в java?

Целые типы (byte, short, int, long, char)

Вещественные типы (float, double)

Булевский тип (Boolean)

  1. Размерность примитивных типов.

Byte (-128..127) – 1 байт

Short (-32768 .. 32767) – 2 байта

Int (-2x10^31..2x10^31) – 4 байта

Long (-2x10^63..2x10^63) – 8 байтов

Char (65536) – 2 байта

Float (-3.4x10^38 .. 3.4x10^38) – 4 байта

Double (1.7x10^308 .. 1.79x10^308) – 8 байта

Boolean (true.. false)

  1. Что такое явное и неявное приведение?

Приведение — это преобразование одного типа данных к другому.

Неявное приведение выполняется в случае, если типы совместимы и длинна целевого типа равно или больше приведенного типа. (Расширяемое)

Byte-short-int-long

Int-double

Short-float-double

Char-int

  1. Потеря информации производится (теряется информация о разрядности)

Int-float

Long-float

Long-double

Явное приведение (сужающие) (теряется информация из-за размерности)

//

Int a = 2;

Byte b = (byte) a;

//

При арифмет операция с разными типами данных :
Приоритет: double-float-long-int (по очередности если не соблюдается первое условие)

  1. Char+short = int



  1. Разница между String, stringbuilder и stringbuffer:

Изменяемые классы: StringBuffer потокобезопасен и синхронизирован, StringBuilder не потокобезопасен, не синхронизирован, но быстрее.

Неизменяемый класс : String потокобезопасен,

  1. Как добавить стринг в пул строк:

При помощи метода:

//
String a = “2”;

String b = new String (2);

String c = b.intern();

//

  1. Пул примитивов и неизменяемые типы:

Пул примитивов — это область памяти, где хранятся константы.

Литерал — это явно заданные значения в коде программы – константы определённого типа, которые находятся в программе на момент запуска.

  1. Неизменяемые типы:

При помощи модификатора final (для класса, метода и констант)

Классы String, обертки от всех примитивов: Boolean, Integer, Character, Short, Long, Double, Float, BigInteger, BigDecimal.

Неизменяемые объекты нужны для безопасности и для экономии

  1. Логические операторы:

& И

&& сокращенное И (пропускает второй если первый false)

| или

|| сокращенное ИЛИ (Пропускает второй если первый true)
^ логическое исключающее не (возвращает true если операнды разные)

! логическое не

== равно

! = не равно

?: тернарный

Для ^ таблица, следующая:

A

0

0

1

1

B

0

1

0

1

^

0

1

1

0

  1. Что такое char и почему над ним можно совершать логические операции?

Для хранения символов в java используют тип char с кодировкой в Unicode-16.
Потому что тип char можно присвоить код переменной, символом или escape последовательностью для написания спец символов:
//

Char a = 67;

Char b =.ф.;

Char c = 117; - код переменной
//

  1. Какая размерность у Boolean?

1 бит, нельзя адресовать отдельные бит (зависит от машины)

  1. Циклы в java:

While (условие) { выражение
} (цикл с предусловием)

Do { выражение
} while (условие) )(цикл с постусловием)

For (инициализация; условие; исполнение) { выражение

} (цикл со счетчиком)

For (новая переменная того типа что и массив: массив) { выражение

} (для перебора коллекций элементов)

  1. Что такое рекурсия? 2 правила в рекурсиях.

Рекурсивные функции – это функции, которые вызывают сами себя. Преимущество – простое написание. Из минусов – возможность уйти в бесконечный цикл.

Базис рекурсии – условия выхода из блока рекурсивных вызывов.

Шаг рекурсии – вызов функцией самой себя при изменении параметров.

  1. Что такое обертка, какие классы обёрток существуют.

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

Авто упаковка происходит при прямом присвоении примитива классу обертке, либо при передаче примитива в параметры метода.

Integer integer = 9;

Распаковка происходит при прям присвоении классу обертке примитива.

Int in = 0;

In = new Integer(9);

Valueof() для упаковки

intValue(), doubleValue() и далее для распоковки.

Автоупаковка доступна для переменных и литералов. Для массивов не работает.

  1. Какая максимальная длинна массива, что такое массив, максимальная размерность многомерного массива.

Максимальная длинна ограничена значением MAX_VALUE и памятью машины.

Массив это структура данных, которая может хранить элементы одно типа. Номер элемента в массиве называют индексом.

В спецификации виртуальной машины сказано, что максимальная размерность составляет 255

  1. Префиксная форма работает до вычислений, постфиксная после

  2. Потому что числа с плавающей точкой хранятся в двоичное значение округленное до 53 знака

  3. Во-первых, в цикле может появиться несколько операторов break, он используется для выхода из цикла.

Во-вторых, break, который завершает оператор switch, воздействует только на данный switch-оператор (но не на включающие его циклы).

В-третьих, он может применяться как "цивилизованная" форма оператора безусловного перехода goto. В этом разделе объясняются два последних случая.

циклах while и do while оператор continue вызывает передачу управления непосредственно условному выражению, которое управляет циклом. В цикле for управление переходит сначала к итерационной части оператора for и затем к условному выражению.

  1. Параметры метода — это именно переменные, которым присваиваются определенные значения при вызове метода. Сами же значения "Привет", "Пока", 10 и 20 называются аргументами метода.



написать администратору сайта