1. Основы языка: синтаксис, типы данных и управляющие конструкции
Основы языка: синтаксис, типы данных и управляющие конструкции
Добро пожаловать в курс «Структурированная База знаний Java». Это первая статья нашего цикла, и мы начнем с фундамента, на котором строится любое приложение: синтаксиса, данных и логики управления программой. Java — это язык со строгой статической типизацией, что делает его надежным и предсказуемым инструментом для разработки сложных систем.
Анатомия Java-программы
Любая программа на Java представляет собой набор классов. Даже самый простой код «Hello World» обязан находиться внутри класса. Давайте разберем базовую структуру.
Разберем этот код построчно:
public class Main: Объявление класса с именем Main. В Java имя файла должно совпадать с именем публичного класса внутри него (файл Main.java).public static void main(String[] args): Это точка входа в программу. Когда вы запускаете приложение, виртуальная машина Java (JVM) ищет именно этот метод.public: метод доступен извне.
* static: метод можно вызвать без создания экземпляра класса (объекта).
* void: метод ничего не возвращает.
* String[] args: массив строк, передаваемый в программу при запуске (аргументы командной строки).
System.out.println(...): Команда вывода текста в консоль. Обратите внимание, что каждая инструкция в Java должна заканчиваться точкой с запятой ;.Переменные и типы данных
Переменная — это именованная область памяти, в которой хранится значение. Представьте переменную как коробку, на которой написано имя, и в которую можно положить только определенный тип предметов.
В Java существует две большие категории типов данных: примитивные и ссылочные.
Примитивные типы данных
Это базовые строительные блоки. В Java их ровно 8 штук. Они хранят само значение непосредственно в стеке памяти.
!Визуализация 8 примитивных типов данных Java как контейнеров разного размера
Целочисленные типы:
* byte: 8 бит. Самый маленький тип.
* short: 16 бит.
* int: 32 бита. Самый используемый тип для целых чисел.
* long: 64 бита. Используется для очень больших чисел. Литералы этого типа часто помечаются буквой L (например, 8000000000L).
Диапазон значений целочисленных типов вычисляется по формуле:
где — количество бит, выделенных под тип данных. Например, для типа byte, где , диапазон будет от -128 до 127.
Типы с плавающей точкой (дробные):
* float: 32 бита. Одинарная точность. Требует суффикса F (например, 3.14F).
* double: 64 бита. Двойная точность. Стандарт для дробных чисел в Java.
Символьный тип:
* char: 16 бит. Хранит один символ в кодировке Unicode (например, 'A'). Значение заключается в одинарные кавычки.
Логический тип:
* boolean: Хранит только два значения: true (истина) или false (ложь).
Ссылочные типы данных
Ссылочные типы хранят не само значение, а адрес (ссылку) на объект в куче (Heap). Самым распространенным ссылочным типом, с которым вы столкнетесь сразу, является String.
String — это класс для работы с текстом. Текстовые литералы заключаются в двойные кавычки.
Операторы
Java предоставляет богатый набор операторов для манипуляции данными.
Арифметические операторы
+ (сложение), - (вычитание), (умножение), / (деление).
* % (остаток от деления). Очень полезен для проверки четности чисел или циклических алгоритмов.
Пример работы с остатком:
где — остаток, — делимое, — делитель. В коде 10 % 3 вернет 1, так как 10 = 3 * 3 + 1.
Операторы сравнения
Используются для сравнения значений, возвращают boolean:
* == (равно), != (не равно).
* > (больше), < (меньше), >= (больше или равно), <= (меньше или равно).
Логические операторы
Используются для объединения условий:
* && (логическое И): истина, только если оба условия истинны.
* || (логическое ИЛИ): истина, если хотя бы одно условие истинно.
* ! (логическое НЕ): инвертирует значение (!true станет false).
Управляющие конструкции
Код не всегда выполняется линейно сверху вниз. Часто нам нужно выполнять блоки кода только при определенных условиях или повторять их многократно.
Условные операторы
if / else
Самая базовая конструкция ветвления.
!Блок-схема работы условного оператора if-else
switch
Удобен, когда нужно проверить одну переменную на множество конкретных значений.
> Важно: Всегда используйте break в блоке switch, иначе выполнение «провалится» в следующий case.
Циклы
Циклы позволяют выполнять блок кода многократно.
Цикл for
Используется, когда известно точное количество итераций.
Цикл while
Используется, когда количество итераций заранее неизвестно, но есть условие продолжения.
Цикл do-while
Похож на while, но гарантирует хотя бы одно выполнение тела цикла, так как проверка условия происходит в конце.
Области видимости (Scope)
Переменные, объявленные внутри метода или блока кода (фигурных скобок {}), видны только внутри этого блока. Это называется локальной областью видимости.
Заключение
Мы рассмотрели базовый синтаксис Java: структуру программы, примитивные типы данных, операторы и управляющие конструкции. Это алфавит и грамматика языка. В следующих статьях мы перейдем к написанию «сочинений» — изучению Объектно-Ориентированного Программирования (ООП), где эти кирпичики складываются в мощные архитектурные решения.
Для закрепления материала рекомендую выполнить практические задания ниже.