Комментарии в Java

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

Однострочный комментарий начинаеться с двойного слеша – //.

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

import java.util.Scanner; class Test { public static void main(String []args) { // здесь запрашиваеться ввод числа // и происходит его вывод в консоль. Scanner input = new Scanner(System.in); int a = input.nextInt(); System.out.println(a); input.close(); } };

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


Многострочный комментарий

Также комментарии можно писать вот так: /* Какой-то комментарий */.

Это многострочный комментарий.

  • /* – открывает комментарий
  • */ – закрывает комментарий

Один однострочный комментарий занимает только одну строку. Один же многострочный комментарий может занимать много строк. Комментарий внутри /* */ можно распределить на много строк. Ниже можно увидеть пример одного многострочного комментария.

import java.util.Scanner; class Test { public static void main(String []args) { /* здесь запрашиваеться ввод числа и происходит его вывод в консоль. */ Scanner input = new Scanner(System.in); int a = input.nextInt(); System.out.println(a); input.close(); } };
Search Icon

На комментарии по ходу курса обращайте внимание в них зачастую будет всё основное пояснение программы.

Консольный ввод в Java

В предыдущих уроках мы уже научились выводить данные на консоль. Теперь разберёмся, как вводить данные в программу с клавиатуры через консоль и использовать эти данные в программе.

Для ввода значения в программу используется класс Scanner.

Класс этот находиться в java библиотеке util и чтобы его использовать в программе, его нужно импортировать в программу вот так:

import java.util.Scanner

После этого в программе необходимо создать объект этого класса (пока не заморачиваемая, что такое объект) вот так:

Scanner input = new Scanner(System.in);

Используя этот объект, можно получать и использовать в программе данные, введённые пользователем с клавиатуры через консоль.

Функция nextInt(), вызываемая через объект Scanner, позволяет запросить у пользователя ввод целого числа и сразу сохранить его, например, в переменную:

int a = input.nextInt()

Для ввода в программу других типов данных существуют другие функции – getDouble для ввода числа с плавающей, getLine для ввода любого текста.


Использование Scanner в программе

Программа ниже с помощью метода nextInt() запрашивает у пользователя ввод целого числа, сохраняет его в переменную, а затем выводит это значение на консоль.

import java.util.Scanner; class Test { public static void main(String []args) { Scanner input = new Scanner(System.in); int a = input.nextInt(); System.out.println(a); input.close(); } };

Вот так в консоли будет выглядеть ввод пятерки и ее вывод:

Первое 5 это то, что вводиться в консоль с клавиатуры. Второе 5 это то, что выводит System.out.println.

Search Icon

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

Переменные в Java

Переменная — это как коробка с этикеткой. Этикетка — это имя переменной, а внутри коробки — то, что ты положил: число, текст, любой другой тип данных. Ты можешь заглянуть внутрь коробки, заменить содержимое или использовать его в расчётах.

Если более технически то переменная — это именованная область памяти, где хранятся данные определённого типа.

Она состоит из:

  • Имени — чтобы к ней обращаться,
  • Типа данных — чтобы программа знала, что в ней можно хранить,
  • Значения — самого содержимого переменной.

Простейший пример создания переменной в Java программе:

int a = 5;

Здесь:

  • int это тип переменной (про типы чуть позже)
  • a это имя переменной
  • 5 это то, что мы записываем в переменную a, то есть переменная a теперь хранит число 5

Вообще здесь произошло два события:

  1. Создание переменной.
  2. Присвоение переменной значения.

Эти два действия в Java программе можно выполнять и отдельно:

int a; – создаем переменную
a = 5; 
– присваиваем ей значение

Можно сразу в одной строке создать несколько переменных типа int:

int a,b;

Можно в одной сроке создать несколько переменных и сразу присвоить им значения:

int a=5,b=7;


Типы переменных

Только что мы определяли переменную типа int.

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

В int переменной могут храниться и отрицательные целые числа тоже. Например: int a = -5;

Максимальное значение, которое мы можем сохранить в int переменную равно 2147483647, минимальное -2147483647.

Конечно же есть и другие типы.

Немного опишем их:

  • boolean – в переменную этого типа могут сохраняться только два значения true или false, то есть правда или ложь.
    Пример: boolean a = true;
  • byte – целочисленная переменная в которой может храниться число из диапазона от -128 до 128.
    Пример: byte a = 5;
  • short – целочисленная переменная в которой может храниться число из диапазона от -32768 до 32768.
    Пример: short a = 5;
  • long – также целочисленная переменная. Максимальное и минимальное значение очень велико.
    Пример: long a = 5;
  • float – хранит дробное число. Лучше называть числом с плавающей точкой.
    Пример: float a = 5.6;
  • double – тоже хранит число с плавающей точкой только диапазон возможных хранимых значений намного больше.
    Пример: double a = 5.6;
  • char – в переменной этого типа храниться один символ. Символ указывается в одинарных кавычках – ‘ ‘.
    Пример: char a = ‘g’;

Java программа с использованием переменных

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

Значение переменной можно вывести на консоль используя уже ранее использованную нами функцию println.

class Test { public static void main(String []args) { int a = 5; System.out.println(a); } }

Вывод:

Также с помощью println можно выводить значения напрямую без использования переменных:

class Test { public static void main(String []args) { System.out.println(5); } }

Вывод:

Первая Java программа

В этом уроке создадим и запустим первую Java программу.

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

Код на Java размещается в файлах с расширением .java. Например, создадим файл HelloWorld.java

Зайдем в этот файл и добавим в него нашу первую программу, которая будет выводить ‘Hello World!!!’ в консоль.

class HelloWorld { public static void main(String []args) { System.out.println(“Hello World!!!”); } }

Здесь можно увидеть функцию main, класс с именем HelloWorld и вызов функции println.

Пока всё, что нужно знать об этой программе это что весь код в любом Java приложении запускается из функции main и функция main может быть только одна на всё приложение. Класс в котором находиться функция main должен иметь имя идентичное имени файла.

Функция System.out.println() используется для вывода данных в консоль. То что будет выводиться помещаем в скобочки.

Search Icon

Что такое функции, классы и прочее будет разобрано потом.


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

Итак в консоли с помощью команды cd переходим в нашу папку с нашей программой.

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

и вставляем его после cd в консоли чтобы перейти в эту папку:

Теперь в консоли мы в папке Programs.

Теперь через консоль мы можем напрямую работать с файлами в ней, так как мы в нее перешли.

Компилируем файл HelloWorld.java с помощью команды javac.

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


Запустим первую java программу

Запускаем программу и видим Hello World!!! в консоли. Все работает.

Установка Java

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

JRE – для запуска java программ. Состоит из Java машины и библиотеки java классов. Компилятора нет. То есть этот пакет только для запуска java программ

JDK – для разработки java программ. Состоит из Java машины, библиотек java классов, компилятора(javac) и других утилит разработчика.

Ясное дело, нам нужен второй вариант. Переходим по ссылке: https://www.oracle.com/java/technologies/downloads/#jdk20-windows

Нажимаем на Installer версию.

Search Icon

После установки необходимо чтобы компьютер увидел установленные java и компилятор javac

Для этого переходим в папку куда мы установили Java. Обычно это C:\Program Files\Java. Затем переходим в папку bin, которая находится внутри папки с названием установленной версии Java. Копируем путь к этой папке bin – он скоро нам понадобиться.


Теперь идем в изменение системных переменных через поиск в пуске:

Нажимаем в открывшемся окне Переменные среды.

Заходим в Path в разделе Системные переменные.

Нажимаем создать и пишем в новую переменную путь к bin, который мы скопировали (желательно, чтобы эта переменная была в самом верху, как на картинке).

Проверка видит ли компьютер java

Открываем консоль и выполняем команду java -version, чтобы проверить, распознаёт ли система установленную Java. Затем вводим javac -version — так мы убедимся, что компилятор Java также доступен.

Как видим, компьютер видит и java и javac.

Чем Java так особенна? Java машина.

Основной слоган Java таков: «Write once, run anywhere»«Написано однажды, работает везде».

Чтобы понять, откуда это взялось, начнём с краткого экскурса в историю.


Раньше компьютерные программы писались напрямую в формате машинных кодов. Писать эти программы было очень сложно, так как эти программы были скорее больше понятны для машины, а не для человека.

И тогда люди придумали высокоуровневые языки программирования типа Java, которые существенно упрощали программисту написание программы по сравнению с ее написанием машинными кодами.

Но компьютер всё еще должен выполнять программу на машинных кодах, так как это понятный для него язык, а тот, который для человека, ему не понятен. Поэтому необходимо превращать программу написанную на высокоуровневом языке в машинные коды понятные компьютеру. Этот процесс преобразования называется компиляцией.


Чем отличается от других языков?

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

И соответственно машинные коды для выполнения одной и той же программы на всех этих разных платформах должны быть разными.

То есть высокоуровневый язык должен компилироваться под все разные устройства и платформы по разному. И так и происходит в большинстве высокоуровневых языков программирования типа C++.

Search Icon

Пример платформенной зависимости.

То есть, например для компиляции C++ программы на платформе Linux нужны свои особенные библиотеки, свой особенный компилятор для компиляции этой программы. Для компиляции этой же C++ программы на Windows нужны будут уже другие библиотеки, компилятор будет отличаться да и сама программа уже тоже может немного отличаться от той что была на Linux. То есть очевидно, язык C++ не кроссплатформенный.

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

В этом помогает Java машина.


Что такое Java машина?

Концепция такая: Java машина может быть установлена на любой компьютер с любой платформой, а программа написанная на java компилируется в байт-код (теперь уже не машинный код, как раньше) понятный java машине и этот байт код выполняется на этой джава машине.

То есть программа выполняется через java машину вообще на любой платформе.

То есть еще раз возвращаемся к тезису – "Написано однажды работает везде".

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


Другие преимущества Java

Из плюсов Java машины также можно упомянуть, что под Java машину можно писать не только Java программы, а также и программы написанные на других языках.

Также важно упомянуть концепцию сборщика мусора в Java.

Search Icon

Почему Java упрощает работу с памятью?

Например, в программе, которая пишется на C++ вам нужно следить за памятью, то есть выделять память под какие-либо данные добавлять данные в выделенную память и самим удалять эти данные оттуда. То есть необходимо следить за всеми этими моментами по ходу написания C++ кода.

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

О языке Java

В данном вводном уроке кратко рассмотрим, что такое Java, где она используется и почему её стоит изучать.

Java — это строго типизированный язык программирования общего назначения.

Почему он строго типизированный мы узнаем позже, а то, что он общего назначения означает, что в принципе на нем можно писать всё что угодно. Но ясное дело всегда есть сферы в которых тот или иной язык показывает себя лучше остальных. На java в основном создаются Android приложения или Java EE приложения. Второе это по сути серверная часть сайтов. Данный курс сосредоточен на втором.

Если посмотреть на график самых популярных языков программирования в 2024 году, который представлен ниже, то очевидно, что Java является одним из самых популярных языков программирования сегодня (второй по популярности).

Поэтому на вопрос “Стоит ли изучать Java?” сегодня можно смело отвечать – ДА СТОИТ.