Баннер мобильный (3) Пройти тест

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

Разбираемся в основах и пишем первую программу

Инструкция

28 марта 2024

Поделиться

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

Содержание

    Java привлекает опытных разработчиков и начинающих программистов своей универсальностью. С его помощью можно писать код практически для всего, а сфер использования настолько много, что язык всегда остается в топе востребованных. В этой статье разберемся с основами Java и напишем свою первую программу.

    Что такое Java?

    Java — универсальный язык программирования, выпущенный в 1995 году компанией Sun Microsystems, которую в итоге купила корпорация Oracle. Ключевая особенность языка — он портативный и легко переносится на разные платформы. Java работает по принципу Write Once, Run Anywhere («Напиши один раз и запускай где угодно», или WORA). Такой код можно запускать на персональных компьютерах, серверах, бытовых устройствах и другой технике.

    Появление Java оказало большое влияние на разработку современного ПО. К примеру, долгое время компания Google использовала его в качестве основного языка для разработки под Android, а Mojang написала на нем Minecraft. Сейчас Java используют в разработке бэкенда, десктопных и мобильных приложений, устройств для умного дома и финансовых инструментов.

    Как установить Java?

    Для программирования на Java понадобится Java Development Kit — специальный набор инструментов для разработчиков. В него входит компилятор, исполнительная среда, стандартная библиотека классов и все необходимое. Без этого пакета не получится собирать проекты на Java.

    Для установки Java Development Kit необходимо:

    • перейти на официальный сайт Oracle, найти пакет под свою операционную систему и скачать его;
    • распаковать содержимое архива и запустить приложение;
    • во время установки выбрать пункт «Development Tool»;
    • дождаться завершения установки.

    Теперь JDK установлен, но компьютер не знает, где находится папка и как к ней обращаться, поэтому подскажем ему. На Windows для этого надо:

    • перейти в папку ProgramFiles\Java\версия-установленного-jdk\bin;
    • кликнуть правой кнопкой мыши на любой файл в этой папке, перейти в «Свойства» и скопировать путь к нему;
    • перейти в свойства ПК, кликнуть на вкладку «Дополнительно» и найти пункт «Переменные среды»;
    • в окне создать переменную с названием PATH, а в поле значения вставить путь, который копировали ранее.

    Теперь можно перезагрузить компьютер и проверить работоспособность установленного языка Java. Для этого надо запустить приложение «Командная строка» и ввести javac. Если все успешно, то Windows выведет аргументы команды.

    Редакторы кода и IDE

    Код удобнее писать в специальных редакторах и средах разработки (IDE). Они включают в себя удобные инструменты, облегчающие работу с Java и ускоряющие тестирование, отладку и рефакторинг. Рассмотрим самые популярные из них.

    IntelliJ IDEA — интегрированная среда разработки от компании JetBrains. Поддерживает подсветку синтаксиса, автоматическое дополнение кода, запуск и отладку, тестирование, работу с базами данных, облачными сервисами развертывания и удаленной разработки. Возможности IDE можно расширять с помощью плагинов, которые загружаются из специального маркетплейса. Для разработки только на чистом Java можно воспользоваться бесплатной IntelliJ IDEA Community Edition, но если в проекте используются сторонние фреймворки и дополнительные технологии, то понадобится платная IntelliJ IDEA Ultimate.

    Visual Studio Code — бесплатный кроссплатформенный редактор кода от Microsoft. Его нельзя назвать полноценной средой разработки, но с помощью расширений в VS Code можно добавить больше возможностей. В редакторе можно писать код, запускать его, отлаживать и тестировать. Поддерживаются подсветка синтаксиса и автоматическое дополнение. Visual Studio Code может стать полноценной заменой тяжелым и перегруженным IDE.

    NetBeans — открытая среда разработки с поддержкой Java, JavaScript, PHP, HTML и CSS. Визуально выглядит проще конкурентов, но от этого не становится менее функциональной. В NetBeans есть все необходимое для работы с кодом, а если чего-то не хватает, то можно установить расширение.

    Eclipse — еще одна полностью бесплатная среда разработки на Java с базовым набором инструментов. В ней может не быть удобных фич из IntelliJ IDEA, но все самое нужное в пакет входит. Кроме того, обновления Eclipse могут выходить чуть реже.

    Основы Java

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

    Структура кода в Java

    Java создан с упором на ООП, поэтому в каждой программе должен быть хотя бы один класс, код из которого и будет выполняться. Также важно, чтобы в программе был метод main(), с которого запустится выполнение.

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

    public class example {
        public static void main(String[] args) {
           
        }
    }

    В этом фрагменте кода:

    • public class example — определение класса;
    • public static void main(String[] args) — точка входа в программу, с нее начинается выполнение кода.

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

    Переменная в Java, как и в других языках программирования, — выделенная область памяти, адрес которой можно использовать для доступа к данным. Если упростить определение, то переменные можно представлять как коробки, в которые мы помещаем значения, а потом можем их брать из этих коробок или менять содержимое. 

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

    Типы данных в Java
    booleantrue или false
    byteот -128 до 127
    shortот -32768 до 32767
    intот -2 147 483 648 до 2 147 483 647
    longот -9 223 372 036 854 775 до 9 223 372 036 854 775 807
    floatчисла с плавающей точкой (0,452)
    doubleбольшие числа с плавающей точкой
    charсимволы (‘n’)

    Для записи переменной в Java сначала надо указать ее тип, потом имя и уже после через знак равенства присвоить значение. Это отличается от языков с динамической типизацией, когда язык сам определяет тип данных. К примеру, в Python можно просто указать имя и значение.

    int number = 42;
    duoble double_number = 3.14;
    char char_a = 'a';

    Операторы

    Просто переменные практически бесполезны, если нет возможности взаимодействовать с ними и получать новые результаты. В Java есть несколько видов операторов, позволяющих работать со значениями: математические, условные и унарные.

    Математические операторы необходимы для выполнения привычного сложения, умножения и других математических операций. С их помощью можно строить и более сложные логические конструкции, сравнивая и присваивая переменные.

    Оператор
    Название
    +
    Сложение
    Вычитание
    *
    Умножение
    /
    Деление
    %
    Остаток от деления
    int x = 20;
    int y = 10
    System.out.println(x + y);
    
    >>> 30

    Условные операторы, следуя из названия, поверяют некоторое условие и возвращают True или False. Некоторые из них нужны для организации логических выражений.

    Оператор
    Описание
    ==
    Сравнивает переменные и возвращает True, если они равны
    < и <=
    Меньше и меньше или равно
    > и >=
    Больше и больше или равно
    &&
    Логическое И
    |
    Логическое ИЛИ
    !
    Логическое НЕ
    int x = 20;
    int y = 10
    System.out.println(x == y);
    
    >>> False

    Унарным операторам для работы нужен только один операнд, и это упрощает запись выражения. В Java предусмотрены операторы декремента (—) и инкремента (++). Первый уменьшает число на единицу, а второй — увеличивает.

    int x = 20;
    System.out.println(++x);
    
    >>> 21

    Условные операторы

    Условные операторы в Java нужны для ветвления программы, когда надо выполнить ту или иную часть кода в зависимости от промежуточного результата. Для этого применяются операторы if и ifelse.

    Базовая конструкция условного оператора if выглядит так:

    if (условие) {
    действие;
    }

    Если условие в скобках оказывается верным, то выполняется содержимое оператора; в противном случае Java пропустит эту часть и пойдет дальше.

    На примере это выглядит так:

    if (2 * 2 == 4) {
    System.out.println('2 × 2 = 4');
    }

    Если два умноженное на два будет равно четырем, то программа напечатает на экране математическое выражение.

    В некоторых случаях важно выполнить дополнительное действие, если первое условие оказывается ложным. Для этого применяется условный оператор if-else. Его базовая конструкция выглядит так:

    if (условие) {
    действие 1;
    } else {
    действие 2;
    }

    В случае верного условия Java выполнит первое действие, а если оно окажется ложным, то перейдет ко второму.

    if (2 * 2 == 4) {
    System.out.println('2 × 2 = 4');
    } else {
    System.out.println('Произошла ошибка'');
    }

    Пишем первую программу

    Теперь у нас есть все необходимые знания и навыки для разработки первой программы на Java. Традиционно ей становится печать на экране фразы «Hello, world!».

    Сперва надо определить в программе класс, назовем его example:

    public class example {
    
    }

    Теперь в классе необходимо создать метод main, служащий точкой входа в программу:

    public class example {
        public static void main(String[] args) {
           
        }
    }

    В самом методе можно вывести строку «Hello, world!»:

    public class example {
        public static void main(String[] args) {
            System.out.println("Привет, мир!");
        }
    }

    Если запустить выполнение кода, то в терминале появится наша строка. Теперь можно переходить к более сложным программам.

    Угадай число

    Воспользуемся всеми знаниями, полученными в этой статье, и напишем небольшую консольную игру «Угадай число». Ее суть заключается в том, что компьютер загадывает случайное число от одного до десяти, а пользователь должен его угадать. Игра завершается, как только число будет угадано.

    Импортируем классы Random и Scanner, с помощью которых будем генерировать случайные числа и считывать данные из консоли. Сразу же после этого создадим класс GuessTheNumber и точку входа:

    import java.util.Random;
    import java.util.Scanner;
    
    public class GuessTheNumber {
        public static void main(String[] args) {
           
        }
    }

    Теперь можно создать новые объекты для Random и Scanner, а вместе с этим зададим параметры генерации чисел. Будем генерировать число от одного до десяти:

    import java.util.Random;
    import java.util.Scanner;
    
    public class GuessTheNumber {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Random random = new Random();
           
            int min = 1;
            int max = 10;
            int number = random.nextInt(max - min + 1) + min;
        }
    }

    Представим сценарий, когда пользователь запускает нашу игру. Он еще не знает правила, поэтому выведем пару строк с описанием задачи:

    System.out.println("Добро пожаловать в игру «Угадай число!»");
    System.out.println("Я загадал число от 1 до 10. Попробуйте угадать.");

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

    while (true) {
                System.out.print("Введите вашу догадку: ");
                int guess = scanner.nextInt();
            }

    У нас уже есть загаданное число и догадка пользователя, и пришло время сравнить их. Для этого напишем несколько условий:

    • пользователь угадал — выводим поздравление и выходим из цикла;
    • число пользователя меньше — предлагаем попробовать вариант больше;
    • число пользователя больше — предлагаем попробовать вариант меньше.
    if (guess == number) {
                    System.out.println("Поздравляем! Вы угадали число: " + number);
                    break; // Игра завершается, если игрок угадал число
                } else if (guess < number) {
                    System.out.println("Попробуйте больше.");
                } else {
                    System.out.println("Попробуйте меньше.");
                }

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

    scanner.close();

    Весь код нашей игры выглядит так:

    import java.util.Random;
    import java.util.Scanner;
    
    public class main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Random random = new Random();
           
            int min = 1;
            int max = 10;
            int number = random.nextInt(max - min + 1) + min;
           
            System.out.println("Добро пожаловать в игру «Угадай число!»");
            System.out.println("Я загадал число от 1 до 10. Попробуйте угадать.");
           
            while (true) {
                System.out.print("Введите вашу догадку: ");
                int guess = scanner.nextInt();
               
                if (guess == number) {
                    System.out.println("Поздравляем! Вы угадали число: " + number);
                    break; // Игра завершается, если игрок угадал число
                } else if (guess < number) {
                    System.out.println("Попробуйте больше.");
                } else {
                    System.out.println("Попробуйте меньше.");
                }
            }
           
            scanner.close();
        }
    }

    Инструкция

    Поделиться

    Скопировано
    1 комментарий
    Комментарии
    • кот

      отличный гайд я уже написал несколько программ для своего сервера в майнкрафте