Перейти к содержанию

Введение в базовый синтаксис Java

Java – это статически типизированный объектно-ориентированный язык программирования. Он независим от платформы – программы на Java можно писать и компилировать на одном типе машины, например, на системе Windows, а выполнять на другом, например, на MacOS, без каких-либо изменений исходного кода. В этом руководстве рассмотрим и поймем основы синтаксиса Java.

Типы данных

В Java есть две категории типов данных: примитивные типы и объекты/ссылочные типы.

Примитивные типыэто базовые типы данных, которые хранят простые данные и формируют основу для манипулирования данными. Например, в Java есть примитивные типы для целочисленных значений (int, long, byte, short), значений с плавающей запятой (float и double), символьных значений (char) и логических значений (boolean).

С другой стороны, ссылочные типы – это объекты, которые содержат ссылки на значения и/или другие объекты или на специальное значение null для обозначения отсутствия значения.

Класс String является хорошим примером ссылочного типа. Экземпляр класса, называемый объектом, представляет собой последовательность символов, например «Hello World».

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

Чтобы объявить переменную в Java, необходимо указать ее имя (также называемый идентификатор) и тип. Посмотрим на простой пример:

int a;
int b;
double c;

В приведенном выше примере переменные получат начальные значения по умолчанию на основе их объявленных типов. Поскольку мы объявили переменные как int и double, по умолчанию они будут иметь значения 0 и 0.0 соответственно.

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

int a = 10;

В приведенном выше примере объявляем переменную с идентификатором a типа int и присваиваем ей значение 10 с помощью оператора присваивания (=) и завершаем оператор точкой с запятой (;). В Java обязательно, чтобы все операторы заканчивались точкой с запятой.

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

  • начинается с буквы, символа подчеркивания (_) или знака доллара ($);
  • не может быть зарезервированным ключевым словом;
  • не может быть true, false, или null.

Расширим фрагмент кода выше, включив в него простую арифметическую операцию:

int a = 10;
int b = 5;
double c = a + b;
System.out.println(a + " + " + b + " = " + c);

Можно прочитать первые три строки приведенного выше фрагмента кода как «присвоить значение 10 a, присвоить значение 5 b, суммировать значения a и b и присвоить результат c». В последней строке выводим результат операции в консоль:

10 + 5 = 15.0

Объявление и инициализация переменных других типов следуют тому же синтаксису, который показан выше. Например, объявим строковые, символьные и логические переменные:

String name = "Java Master Blog";
char toggler = 'Y';
boolean isVerified = true;

Чтобы подчеркнуть основное различие в представлении литеральных значений char и String, заключаем их в соответствующие одинарные и двойные кавычки, которые окружают значения. Следовательно, ‘a’ – это char, а “a” – это String.

Массивы

Массив – это ссылочный тип, который может хранить набор значений определенного типа. Общий синтаксис объявления массива в Java:

type[] идентификатор = new type[length];

Тип может быть любым: примитивным или ссылочным.

Посмотрим, как объявить массив, который может содержать максимум 100 целых чисел:

int[] numbers = new int[100];

Чтобы обратиться к определенному элементу массива или присвоить значение элементу, используем имя переменной и ее индекс:

numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
int thirdElement = numbers[2];

В Java индексы массивов начинаются с нуля. Первый элемент массива имеет индекс 0, второй элемент – индекс 1 и так далее.

Кроме того, можно получить длину массива, вызвав number.length:

int lengthOfNumbersArray = numbers.length;

Ключевые слова Java

Ключевые слова – это зарезервированные слова, которые имеют особое значение в Java.

Например, public, static, class, main, new, instanceof являются ключевыми словами в Java, и поэтому нельзя использовать их в качестве идентификаторов (имен переменных).

Операторы в Java

Теперь, когда выше рассмотрели оператор присваивания (=), рассмотрим другие типы операторов в языке Java:

Арифметические операторы

Java поддерживает следующие арифметические операторы, которые можно использовать для написания математической вычислительной логики:

  • + (плюс или добавление; также используется для объединения строк);
  • – (минус или вычитание);
  • * (умножение);
  • / (деление);
  • % (модуль или остаток).

Мы использовали оператор плюс (+) в предыдущем примере кода для выполнения сложения двух переменных. Аналогично используются и другие арифметические операторы.

Еще одно использование плюса (+) – конкатенация (объединение) строк для формирования новой строки:

String output =  a + " + " + b + " = " + c;

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

В дополнение к арифметическим операторам Java поддерживает следующие логические операторы для вычисления логических выражений:

  • && (AND);
  • || (OR);
  • ! (NOT).

Рассмотрим следующие фрагменты кода, демонстрирующие логические операторы AND (И) и OR (ИЛИ). В первом примере показан оператор печати, который выполняется, когда числовая переменная делится как на 2, так и на 3:

int number = 6;
        
if (number % 2 == 0 && number % 3 == 0) {
    System.out.println(number + " is divisible by 2 AND 3");
}

В то время как второй выполняется, когда число делится на 2 ИЛИ на 5:

if (number % 2 == 0 || number % 5 == 0) {
    System.out.println(number + " is divisible by 2 OR 5");
}

Операторы сравнения

Если нужно сравнить значение одной переменной со значением другой, то можно использовать операторы сравнения Java:

  • < (меньше чем);
  • <= (меньше или равно);
  • > (больше чем);
  • >= (больше или равно);
  • == (равно);
  • != (не равно).

Например, можно использовать оператор сравнения для определения права избирателя на участие в голосовании:

public boolean canVote(int age) {
    if(age < 18) {
        return false;
    }
    return true;
}

Структура программы Java

Теперь, когда узнали о типах данных, переменных и нескольких основных операторах, давайте посмотрим, как объединить эти элементы в простую исполняемую программу.

Основной единицей Java-программы является Class (класс). Класс может иметь одно или несколько полей (иногда называемых свойствами), методов и даже других членов класса, называемых внутренними классами.

Чтобы класс был исполняемым, он должен иметь метод main. Метод main означает точку входа в программу.

Давайте напишем простой исполняемый класс для реализации одного из фрагментов кода, который рассмотрели ранее:

public class SimpleAddition {

    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        double c = a + b;
        System.out.println( a + " + " + b + " = " + c);
    }
}

Имя класса – SimpleAddition, и внутри него есть метод main, в котором находится наша логика. Сегмент кода между открывающей и закрывающей фигурными скобками называется блоком кода.

Исходный код программы Java хранится в файле с расширением .java.

Компиляция и выполнение программы

Чтобы выполнить исходный код, сначала нужно его скомпилировать. Этот процесс создаст двоичный файл с расширением .class. Можно выполнить двоичный файл на любой машине, на которой установлена среда выполнения Java (JRE).

Давайте сохраним исходный код из приведенного выше примера в файл с именем SimpleAddition.java и запустим эту команду из каталога, в котором сохранили файл:

javac SimpleAddition.java

Чтобы выполнить программу, просто запускаем:

java SimpleAddition

В консоль выведется следующее:

10 + 5 = 15.0

Заключение

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

Полный исходный код этой статьи доступен на Github.

Оригинал