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

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

Java 14 - New Features

Управляющие语句 в Java

Прежде чем мы перейдем к новым функциям Java 14, давайте быстро освежим в памяти некоторые базовые управляющие语句. Это строительные блоки любого 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!". В противном случае, она выведет "Sorry, you're too young to vote."

Цикл for

Цикл for похож на карусель - он позволяет вам повторять блок кода определенное количество раз.

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

Этот цикл выведет числа от 1 до 5, каждый на новой строке.

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

Java - это язык объектно-ориентированного программирования (OOP), что означает, что он основан на концепции "объектов", содержащих данные и код. Давайте рассмотрим пример простого класса:

public class Dog {
String name;
int age;

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

Здесь мы определили класс Dog с свойствами (name и age) и методом (bark). Вы можете создавать и использовать объекты этого класса следующим образом:

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

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

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

String greeting = "Hello, Java 14!";
System.out.println(greeting.length()); // Вывод: 16
System.out.println(greeting.toUpperCase()); // Вывод: HELLO, JAVA 14!

Обработка файлов в Java

Обработка файлов имеет важное значение для многих приложений. Вот пример записи в файл:

import java.io.FileWriter;
import java.io.IOException;

public class FileWriteExample {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("output.txt");
writer.write("Hello, Java 14!");
writer.close();
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}

Этот код создает файл с именем "output.txt" и записывает в него "Hello, Java 14!".

Ошибки и исключения в Java

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

public class DivisionExample {
public static void main(String[] args) {
try {
int result = 10 / 0;
System.out.println("Result: " + result);
} catch (ArithmeticException e) {
System.out.println("Error: Cannot divide by zero!");
}
}
}

Эта программа пытается разделить на ноль, что обычно вызывает ошибку. Однако мы обернули это в блок try-catch, чтобы обработать исключение优雅но.

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

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

Записи

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

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

Эта простая декларация создает класс с двумя полями (name и age), конструктором и методами, такими как equals(), hashCode() и toString(). Это эквивалентно гораздо более длинному традиционному определению класса!

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

Java 14 introduces an improved version of the instanceof operator that includes pattern matching. This makes your code more concise and readable.

if (obj instanceof String s) {
// can use s as a String here
System.out.println(s.length());
}

In this example, if obj is a String, it's automatically cast to a String and assigned to the variable s.

Switch Expressions

Switch expressions, which were previewed in earlier versions, are now standard in Java 14. They allow you to use switch as an expression and yield a value.

String dayType = switch(dayOfWeek) {
case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> "Weekday";
case SATURDAY, SUNDAY -> "Weekend";
};

This switch expression assigns "Weekday" or "Weekend" to dayType based on the value of dayOfWeek.

Helpful NullPointerExceptions

Java 14 provides more helpful NullPointerException messages, pinpointing exactly which variable was null.

Person person = null;
System.out.println(person.name);

Instead of a generic NullPointerException, you'll get a message like "Cannot invoke "Person.getName()" because "person" is null".

These are just a few of the new features in Java 14. As you continue your Java journey, you'll discover many more exciting capabilities of this powerful language. Remember, programming is a skill that improves with practice, so don't be afraid to experiment and write lots of code!

Happy coding, future Java experts!

Credits: Image by storyset