10 главных конструкций языка Java
Java — важный язык разработки во многих больших корпорациях. Мы уже рассказывали про то, как и где применяется Java, теперь настало время для практики.
Так как авторы языка Java при создании вдохновлялись языками C и C++, то в Java тоже появилось много похожих конструкций и команд. Если вы знаете C или C++, то освоить Java вам будет гораздо проще.
👉 В Java после каждой команды ставится точка с запятой.
Комментарии
Комментарии в Java точно такие же, как в C-подобных языках — есть однострочные, которые работают только для одной строки, и многострочные.
// Это однострочный комментарий
// Для каждой строки нужно добавлять его отдельно
/* А это — многострочный
его можно сделать любой длины,
если в начале и в конце поставить нужные символы */
Переменные и типы данных
Как и в C, в Java есть несколько типов данных с разным объёмом выделяемой памяти. Предполагается, что программист сам решит, какой тип использовать лучше всего в каждой ситуации и сам будет следить за тем, чтобы в переменную поместилось всё что нужно.
// целое, 1 байт byte b; // целое, 2 байта short s; // целое, 4 байта int x = 420; // целое, 8 байт long l; // дробное, 4 байта float fl = 4.3; // дробное, 8 байт double d,q; // логический тип, true или false boolean bol;
Присваивание и сравнение
// это присваивание
x = 10;
// а это — сравнение x и 10
// результат сравнения отправляется в переменную b
boolean bol;
b = (x == 10);
Ещё есть метод сравнения .equal — он работает более гибко и предсказуемо, чем ==, потому что двойное равно может сравнивать только числа и строки.
Структура программы
Разработчикам Java понравилось, что в C вся программа состоит из функций, среди которых есть одна обязательная — main, поэтому сделали точно так же. В классах эта функция называется методом.
Но есть одно важное отличие: каждая java-программа — это как бы один большой класс со своими разделами, которые должны быть у каждого класса. Благодаря этому большие программы легко собираются из маленьких java-кирпичиков и работают друг с другом как с классами, используя все их возможности.
// программа — тоже класс public class Program < // публичная часть класса, доступная всем // в ней сразу делают основную функцию программы main public static void main(String[] args) < // объявляем переменные String name = "Код"; // выводим строку на экран System.out.printf("Привет, это журнал %s \n", name); // конец основной функции >// конец описания класса >
Ввод и вывод
Для ввода и вывода используют системный класс System и два его объекта — in и out. Но на практике чаще всего вместо in используют объект Scanner, чтобы можно было более гибко управлять вводом данных.
// подключаем класс Scanner import java.util.Scanner; // класс с программой public class Program < // основная функция public static void main(String[] args) < // создаём новый объект ввода, через который будем дальше работать Scanner in = new Scanner(System.in); // выводим строку System.out.print("Введите имя: "); // создаём переменную name и помещаем в неё то, что пользователь введёт с клавиатуры String name = in.nextLine(); // выводим ещё одну строку System.out.print("Возраст: "); // так же запоминаем возраст в другую переменную int age = in.nextInt(); // просим ввести рост System.out.print("Введите рост: "); // запоминаем введённое значение float height = in.nextFloat(); // выводим строку с результатом System.out.printf("Имя: %s Возраст: %d Рост: %.2f \n", name, age, height); // закрываем наш объект ввода, потому что пока он больше не нужен in.close(); >>
Условные операторы if и switch
Работают так же, как в C и в любых современных языках высокого уровня. Главное здесь — следить за фигурными скобками и не перепутать, что к чему относится. Проще всего это регулировать отступами:
// числа для сравнения int num1 = 6; int num2 = 8; // если первое больше второго if(num1>num2) < // выводим результат System.out.println("Первое число больше второго"); >// если первое условие не выполнилось — можем проверить второе else if(num1 // если и это условие не выполнилось else< // выводим финальное сообщение System.out.println("Числа равны"); >
У оператора множественного выбора есть особенность: ему не нужны фигурные скобки для действий в каждом случае. Компьютер по синтаксису понимает, что к чему относится, и выбирает нужный вариант.
// число для сравнения int num = 8; // сравниваем значение этого числа с нашими вариантами switch(num)< // если число = 1 case 1: // выводим сообщение System.out.println("число равно 1"); // выходим из дальнейших проверок break; // если число = 8 case 8: System.out.println("число равно 8"); // увеличиваем число на 1 num++; break; // если число = 9 case 9: System.out.println("число равно 9"); break; // если ни один из вариантов не подошёл default: System.out.println("число не равно 1, 8, 9"); >
Циклы
В Java есть три основных вида циклов:
- for — с известным числом повторений и счётчиком;
- do — с проверкой условия до цикла;
- while — условие проверяется после первого выполнения цикла.
Ещё есть два полезных оператора:
- break — прерывает цикл в любой момент;
- continue — сразу переходит к следующему витку цикла без выполнения остальных команд.
// цикл со счётчиком // задаётся начальное значение, условие и шаг цикла for (int i = 1; i < 9; i++)< // тело цикла System.out.printf("Квадрат числа %d равен %d \n", i, i * i); >// то же самое с циклом do int j = 1; // начинаем цикл do < // выводим результат System.out.printf("Квадрат числа %d равен %d \n", i, i * i); // увеличиваем переменную цикла j++; >// проверяем условие цикла while (j < 9); // и то же самое с циклом while int k = 1; // начинаем цикл и сразу проверяем условие while (k < 10)< // выводим результат System.out.printf("Квадрат числа %d равен %d \n", k, k * k); // увеличиваем переменную цикла k++; >
Функции (они же методы)
Так как каждая программа — это описание какого-то класса, то функции в Java — это и есть методы этого класса. Функций (или методов) может быть сколько угодно, главное — соблюдать правила описания классов. Покажем на примере:
// программа — класс public class Program < // публичная часть, доступная всем // основная функция-метод main public static void main (String args[])< // вызваем методы (функции) в любое время hello(); welcome(); >// метод hellо(), который не передаёт и не принимает никаких аргументов void hello() < System.out.println("Привет!"); >// метод welcome() void welcome() < System.out.println("Это журнал Код."); >>
Классы
В Java всё построено на классах, от самой программы до реализаций различных функций. Конечно, можно не использовать классы и работать в чисто процедурном стиле, но в Java так не принято. Это ООП-язык с родной поддержкой классов на всех уровнях.
Сами классы объявляются и используются так же, как и в любом другом ООП-языке:
// объявляем новый класс с информацией о заказанном товаре class Order < // переменные класса String name; // название int cost; // стоимость // метод класса void displayInfo()< // выводим информацию о заказе System.out.printf("Заказ: %s \tСтоимость: %d\n", name, cost); >>
Объекты
Объекты в Java работают по тому же принципу, что и все объекты в ООП: можно создавать сколько угодно объектов на основе классов и делать их любой сложности.
Обычно используют классы, прописанные в том же файле, что и программа. Если нужно использовать класс из другой программы, её подключают отдельно. Вот самый простой способ сделать объект на основе предыдущего класса с заказом:
// программа — тоже класс public class Program < // основная функция-метод main public static void main (String args[])< // создаём новый объект на основе класса ниже Order new_order; // заполняем данные new_order.name = "Айфон"; new_order.cost = 9999; // вызываем метод класса new_order.displayInfo(); >> // объявляем новый класс с информацией о заказанном товаре class Order < // переменные класса String name; // название int cost; // стоимость // метод класса void displayInfo()< // выводим информацию о заказе System.out.printf("Заказ: %s \tСтоимость: %d\n", name, cost); >>
Базовое знание языка java
Здесь мы описали шаблон будущего объекта – класс. У него есть две переменные состояния – speed и maxSpeed, а также две функции, которые описывают поведение объекта.
Теперь приложение нужно запустить, для этого Java надо подсказать, где находится точка входа в него. Для этого существует особое соглашение – нужно добавить в описание любого объекта метод:
Наше приложение запустилось, но ничего не произошло, потому что мы не добавили никакой логики в метод. Добавим простой вывод на консоль текста:
Создатели предложили называть эти папки как доменные имена в интернете, чтобы точно разграничить их, но это не обязательно, вы можете называть их как захотите.
Это так же позволяет легко импортировать чужие классы в свой код:
Мне всё еще непонятно, с чего начинать путь в IT. Что посоветуете?
Стоит подумать, как построить свой путь в индустрию, чтобы получить качественные знания и устроиться на работу.
Онлайн-университет Skypro помогает новичкам в IT комфортно сменить сферу деятельности. Курс «Java-разработчик» построен так, чтобы дать полноценный взгляд на IT и базовые знания для работы младшим специалистом. Вы научитесь:
- писать код на языках Java и SQL;
- управлять схемами баз данных;
- собирать проекты на Maven и Spring;
- работать с кешем и потоками.
На протяжении всего обучения студентов поддерживают наставники и обучают топовые специалисты рынка. Если вы не устроитесь на работу в течение четырех месяцев после окончания обучения, Skypro вернет деньги — это прописано в договоре.