Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции 2025. Java. Белая / Ответы на билеты. Java

.pdf
Скачиваний:
4
Добавлен:
02.01.2026
Размер:
4.52 Mб
Скачать

Особенности платформы Java:

1."Write Once, Run Anywhere" (WORA): Код компилируется в байт-код, который может выполняться на любой платформе, где установлена Java Virtual Machine (JVM).

2.Объектно-ориентированный язык (ООП): Всё в Java является объектом

(кроме примитивных типов, но для них есть классы-обертки). Поддерживает инкапсуляцию, наследование, полиморфизм.

3.Строгая типизация: Тип каждой переменной должен быть объявлен до ее использования, и проверки типов выполняются во время компиляции.

4.Автоматическое управление памятью (сборка мусора): Разработчику не нужно явно освобождать память; JVM делает это автоматически.

5.Многопоточность: Встроенная поддержка создания многопоточных приложений.

6.Безопасность: Встроенные механизмы безопасности, такие как менеджер безопасности, проверка байт-кода.

7.Платформенная независимость API: Стандартные библиотеки Java (Java API)

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

8.Составляющие платформы:

JDK (Java Development Kit): Набор для разработки. Включает JRE, компилятор (), отладчик, документацию и другие утилиты.

JRE (Java Runtime Environment): Среда выполнения Java-приложений.

Включает JVM и основные библиотеки классов.

JVM (Java Virtual Machine): Виртуальная машина, которая интерпретирует (или JIT-компилирует) байт-код в машинный код конкретной платформы.

Синтаксис языка Java:

C-подобный синтаксис: Используются фигурные скобки для блоков кода, точка с запятой для завершения инструкций.

Регистрозависимый: и — это разные переменные.

Комментарии:

Однострочные:

Многострочные:

Документационные (Javadoc):

Ключевые слова: Зарезервированные слова, имеющие специальное значение (например, , , , , , , , ).

Идентификаторы: Имена классов, методов, переменных. Должны начинаться с буквы, или , далее могут содержать цифры.

Структура программы: Программа на Java состоит из одного или нескольких классов. Один из классов должен содержать метод

, который является точкой входа в программу.

13. Примитивные типы данных, объявление и присваивание переменных

Примитивные типы данных:

Хранят непосредственно значения, а не ссылки на объекты.

Имеют фиксированный размер в памяти.

8 примитивных типов:

1. Целочисленные:

: 8 бит, от -128 до 127.

: 16 бит, от -32,768 до 32,767.

: 32 бита, от -231 до 231-1 (наиболее часто используемый).

: 64 бита, от -263 до 263-1. Суффикс или для литералов:

.

2. С плавающей точкой:

: 32 бита, одинарная точность. Суффикс или для литералов: .

: 64 бита, двойная точность (используется по умолчанию для дробных чисел). Суффикс или (необязателен): .

3. Символьный:

: 16 бит, Unicode-символ. Заключается в одинарные кавычки:

.

4. Логический:

: представляет или . Размер не определен строго спецификацией, но обычно 1 бит логически.

Объявление переменных:

Синтаксис:

Примеры:

Присваивание переменных:

Используется оператор присваивания .

Синтаксис:

Можно объявлять и инициализировать (присваивать начальное значение) одновременно: Примеры:

14. Типизация. Правила преобразования типов.

Типизация:

Java — язык со строгой статической типизацией.

Статическая: Тип каждой переменной известен на этапе компиляции. Компилятор проверяет совместимость типов во всех операциях.

Строгая: Неявные преобразования типов разрешены только если они безопасны (без потери данных). В остальных случаях требуется явное преобразование.

Правила преобразования типов (Type Casting):

1. Неявное преобразование (Implicit Casting / Widening Conversion):

Происходит автоматически, когда значение меньшего типа присваивается переменной большего типа (т.е. без потенциальной потери данных). Порядок: . Также может быть неявно преобразован в (и далее).

2. Явное преобразование (Explicit Casting / Narrowing Conversion):

Требуется, когда значение большего типа присваивается переменной меньшего типа (т.е. с возможной потерей данных или точности). Выполняется с помощью оператора приведения типа . Разработчик берет на себя ответственность за возможную потерю данных.

Преобразование с классами-обертками: Для преобразования строк в числа и наоборот используются методы классов-оберток (,

, ).

15. Условные операторы, полное и неполное ветвление в Джава, синтаксис

Условные операторы позволяют программе принимать решения и выполнять различные блоки кода в зависимости от выполнения определенных условий.

(неполное ветвление):

Выполняет блок кода, если условие истинно (). Синтаксис:

Пример:

(полное ветвление):

Выполняет один блок кода, если условие истинно, и другой блок кода, если условие ложно ().

Синтаксис:

Пример:

(множественное ветвление):

Позволяет проверять несколько условий последовательно.

Как только одно из условий или оказывается истинным, соответствующий блок кода выполняется, и остальные проверки пропускаются.

Блок (необязательный) выполняется, если ни одно из предыдущих условий не было истинным.

Синтаксис:

Пример:

Вложенные операторы:

операторы могут быть вложены друг в друга для более сложных проверок.

Тернарный оператор (условный оператор):

Компактная форма , используется для присвоения значения или в выражениях.

16. Оператор множественного выбора в Джава, синтаксис

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

Синтаксис:

Как работает:

1.Вычисляется .

2.Результат сравнивается последовательно со , , и т.д. (с использованием для строк, начиная с Java 7, и для примитивов и enum).

3.Если совпадение найдено, выполняется соответствующий блок кода.

4.Оператор вызывает немедленный выход из . Если

отсутствует, выполнение "проваливается" (fall-through) к следующему

(или ) и его код тоже будет выполнен, пока не встретится

или конец . Это иногда используется намеренно, но чаще является источником ошибок.

5.Блок (необязательный) выполняется, если ни одно из не совпало с результатом .

Типы данных для в :

, , , .

Их классы-обертки: , , , .

(перечисления).

(начиная с Java 7).

Примеры:

1. С :

2. С (Java 7+):

3. Fall-through (проваливание):

4. Enhanced (Java 14+):

Более краткий синтаксис с использованием (стрелки).

Автоматически предотвращает "проваливание" (не нужен в большинстве случаев).

Может использоваться как выражение, возвращающее значение.