Java 15 - Новые функции

Здравствуйте, будущие разработчики Java! Я рад быть вашим проводником в этом увлекательном путешествии по новым возможностям Java 15. Как кто-то, кто преподавал Java более десяти лет, я могу с уверенностью сказать, что эта версия brings некоторые fantastic улучшения на стол. Так что погружаемся и исследуем эти новые функции вместе!

Java 15 - New Features

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

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

Оператор if-else

Оператор if-else похож наfork на дороге. Он позволяет вашей программе принимать решения на основе определенных условий.

int age = 18;
if (age >= 18) {
System.out.println("You can vote!");
} else {
System.out.println("Sorry, you're too young to vote.");
}

В этом примере, если возраст равен 18 или больше, программа выведет "You can vote!". В противном случае, она выведет жаль message.

Цикл for

Цикл for resembles faithful workhorse в Java. Он великолепен для повторения блока кода определенное количество раз.

for (int i = 0; i < 5; i++) {
System.out.println("Count: " + i);
}

Этот цикл выведет счет от 0 до 4. Это как если бы вы говорили Java: "Эй, начни с 0, продолжай, пока мы меньше 5, и добавляй 1 каждый раз."

Объектно-ориентированное программирование

Теперь давайте поговорим о одном из самых интересных аспектов Java: Объектно-ориентированное программирование (OOP). Это как строительство с LEGO bricks, где каждый brick является объектом с своими своими свойствами и поведением.

Классы и объекты

Класс resembles蓝图, а объект то, что вы строите из этого蓝图. Давайте создадим простой Dog класс:

public class Dog {
String name;
int age;

public void bark() {
System.out.println(name + " says: Woof!");
}
}

Теперь мы можем создать Dog объект:

Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.age = 3;
myDog.bark(); // Это выведет: Buddy says: Woof!

Встроенные классы Java

Java comes с treasure trove встроенных классов, которые делают нашу жизнь проще. Давайте посмотрим на couple из них.

Класс String

Класс String используется для работы с текстом. Он так common, что Java ему special treatment.

String greeting = "Hello, World!";
System.out.println(greeting.length()); // Выводит: 13
System.out.println(greeting.toUpperCase()); // Выводит: HELLO, WORLD!

Класс ArrayList

ArrayList resembles super-powered array, который может расти или уменьшаться по мере необходимости.

import java.util.ArrayList;

ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");

System.out.println(fruits); // Выводит: [Apple, Banana, Cherry]
System.out.println(fruits.get(1)); // Выводит: Banana

Новые функции в Java 15

Теперь давайте исследуем некоторые из захватывающих новых функций в Java 15!

Текстовые блоки

Текстовые блоки делают работу с многостроковыми строками значительно легче. Это как writing a letter к вашему коду!

String oldWay = "This is how we used to\n" +
"write multi-line strings.\n" +
"It was not very convenient.";

String newWay = """
This is a Text Block.
It's much easier to read
and write multi-line strings now!
""";

System.out.println(newWay);

Строка newWay значительно чище и легче для чтения, не так ли?

Запечатанные классы

Запечатанные классы позволяют вам контролировать, какие другие классы могут наследовать от них. Это как создание exclusive club для ваших классов!

public sealed class Shape permits Circle, Square, Triangle {
// Shape class code
}

final class Circle extends Shape {
// Circle class code
}

final class Square extends Shape {
// Square class code
}

final class Triangle extends Shape {
// Triangle class code
}

// Это вызовет ошибку компиляции:
// class Rectangle extends Shape { }

В этом примере только Circle, Square, и Triangle могут наследовать от Shape. Любой другой класс, пытающийся наследовать от Shape, вызовет ошибку.

Сопоставление шаблонов для instanceof

Эта функция делает работу с разными типами объектов легче. Это как having a smart detective в вашем коде!

Object obj = "Hello, Java 15!";

if (obj instanceof String str) {
System.out.println(str.toUpperCase());
}

В старых версиях Java нам пришлось бы cast obj к String после проверки instanceof. Теперь мы можем сделать это все в одной строке!

Записи

Записи - это новый вид класса, который ideal для хранения данных. Они resemble Swiss Army knife для простых объектов данных!

public record Person(String name, int age) { }

Person alice = new Person("Alice", 30);
System.out.println(alice.name()); // Выводит: Alice
System.out.println(alice.age()); // Выводит: 30

Записи автоматически generieren конструкторы, геттеры, equals(), hashCode(), и toString() методы для нас. Это как having a personal assistant для ваших классов!

Заключение

Вау, мы covered lot of ground сегодня! От базовых условных операторов до захватывающих новых функций в Java 15, вы теперь equipped с некоторыми мощными инструментами для вашего пути в программировании на Java. Помните, программирование resembles learning a new language - это требует практики, терпения и persistency. Но с этими новыми функциями, Java становится более expressiv и легким для использования, чем когда-либо раньше.

Пока мы поднимаемся, я reminded of a quote от знаменитого ученого в области вычислений Alan Kay: "Лучший способ предсказать будущее - это invent it." С Java 15 у вас есть еще больше власти invent будущее через ваш код. Так что идите вперед, experiment с этими новыми функциями и создайте что-то amazing!

Счастливого кодирования, будущие мастера Java! ??‍??‍?

Credits: Image by storyset