1. Основы синтаксиса, переменные и примитивные типы данных
Основы синтаксиса, переменные и примитивные типы данных
В 1999 году космический аппарат Mars Climate Orbiter стоимостью 125 млн долл. сгорел в атмосфере Марса из-за тривиальной ошибки: одна группа инженеров использовала метрическую систему мер, а другая — английскую (фунты-силы). В программировании на Java подобные катастрофы предотвращаются строгой типизацией. Здесь вы не можете просто «сложить яблоки с апельсинами», не объяснив компилятору, как именно это сделать. Java — это язык-контракт, где каждое слово и каждый бит данных должны быть задекларированы с армейской точностью.
Анатомия Java-программы: от текста к байт-коду
Любой путь в Java начинается с понимания того, что этот язык не исполняется процессором напрямую. Между вашим кодом и «железом» стоит JVM (Java Virtual Machine). Это создает уникальную среду, где синтаксические правила продиктованы не только удобством человека, но и требованиями виртуальной машины к безопасности и переносимости.
Простейший блок кода в Java — это класс. Даже если вы хотите просто вывести приветствие в консоль, вы обязаны создать оболочку. Это фундаментальное отличие от скриптовых языков вроде Python или JavaScript.
Здесь каждое слово несет критическую нагрузку:
public — модификатор доступа, делающий класс видимым для JVM.class Main — объявление сущности. Имя файла должно строго совпадать с именем публичного класса (Main.java).static — метод принадлежит классу, а не объекту (мы разберем это глубже в темах про ООП).void — метод не возвращает никакого результата.String[] args — массив строковых аргументов, которые можно передать программе при запуске.Java чувствительна к регистру. Main и main — это разные идентификаторы. Каждая инструкция завершается точкой с запятой ;. Пропуск этого символа — самая частая причина ошибок у новичков, и компилятор Java в этом вопросе беспощаден.
Переменные как именованные ячейки памяти
Переменная в Java — это не просто имя значения, это зарезервированный участок в памяти (стеке или куче), снабженный этикеткой типа. В Java нельзя создать переменную, не указав, что именно она будет хранить. Это называется статической типизацией.
Процесс работы с переменной состоит из трех этапов:
Имена переменных (идентификаторы) в Java должны следовать стандарту lowerCamelCase. Они могут содержать буквы, цифры, символы _ и -128127-32\,76832\,767-2^{31}2^{31}-1\pm 2-2^{63}2^{63}-11271282^7 - 10.1 + 0.20.3\to\to\to\to\to10 = 3 \times 3 + 1\to\to\to\to$ null
Это различие часто путает начинающих, поэтому золотое правило: всегда инициализируйте переменные явно.
Резюме по синтаксису и типам
Java — это язык дисциплины. Каждая переменная имеет строго определенное место в памяти и четкие границы допустимых значений. Понимание разницы между 8-битным byte и 64-битным long, знание того, когда double` может подвести в расчетах, и умение правильно называть переменные — это те кирпичики, из которых строится надежная архитектура будущих приложений.
Мы заложили фундамент: научились объявлять данные и манипулировать ими на самом низком уровне. В следующей главе мы научим нашу программу «принимать решения» и выполнять повторяющиеся действия, используя управляющие конструкции и циклы.