Java 15 - Các Tính Năng Mới

Xin chào các nhà phát triển Java tương lai! Tôi rất vui mừng được hướng dẫn các bạn trong hành trình thú vị này qua các tính năng mới của Java 15. Là người đã dạy Java hơn một thập kỷ, tôi tự tin rằng phiên bản này mang lại những cải tiến tuyệt vời. Hãy cùng nhau khám phá các tính năng mới này nhé!

Java 15 - New Features

Các Câu Lệnh Điều Kiện trong Java

Trước khi chúng ta đi sâu vào các tính năng mới, hãy nhanh chóng ôn lại một số câu lệnh điều kiện cơ bản trong Java. Đây là những khối xây dựng cơ bản mà bạn sẽ sử dụng trong hầu như mọi chương trình bạn viết.

Câu Lệnh If-Else

Câu lệnh if-else giống như một ngã rẽ. Nó cho phép chương trình của bạn ra quyết định dựa trên một số điều kiện.

int age = 18;
if (age >= 18) {
System.out.println("Bạn có thể投票!");
} else {
System.out.println("Xin lỗi, bạn quá trẻ để投票.");
}

Trong ví dụ này, nếu tuổi là 18 hoặc lớn hơn, chương trình sẽ in ra "Bạn có thể投票!". Nếu không, nó sẽ in ra thông báo xin lỗi.

Vòng Lặp For

Vòng lặp for giống như một con ngựa trung thành trong Java. Nó rất tốt cho việc lặp lại một khối mã một số lần cụ thể.

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

Vòng lặp này sẽ in ra đếm từ 0 đến 4. Nó giống như nói với Java, "Hey, bắt đầu từ 0, tiếp tục miễn là chúng ta nhỏ hơn 5, và thêm 1 mỗi lần."

Lập Trình Hướng Đối Tượng

Bây giờ, hãy nói về một trong những khía cạnh thú vị nhất của Java: Lập Trình Hướng Đối Tượng (OOP). Nó giống như xây dựng bằng các khối LEGO, nơi mỗi khối là một đối tượng với các thuộc tính và hành vi riêng của nó.

Lớp và Đối Tượng

Một lớp giống như một bản vẽ, và một đối tượng là thứ bạn xây dựng từ bản vẽ đó. Hãy tạo một lớp Dog đơn giản:

public class Dog {
String name;
int age;

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

Bây giờ, chúng ta có thể tạo một đối tượng Dog:

Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.age = 3;
myDog.bark(); // Điều này sẽ in ra: Buddy nói: Woof!

Các Lớp Nhiều Năng Trong Java

Java đi kèm với một kho báu các lớp nhiều năng giúp cuộc sống của chúng ta dễ dàng hơn. Hãy cùng nhìn vào một số trong số chúng.

Lớp String

Lớp String được sử dụng để làm việc với văn bản. Nó rất phổ biến đến mức Java dành cho nó một sự đối xử đặc biệt.

String greeting = "Xin chào, Thế giới!";
System.out.println(greeting.length()); // In ra: 13
System.out.println(greeting.toUpperCase()); // In ra: XIN CHÀO, THẾ GIỚI!

Lớp ArrayList

ArrayList giống như một mảng siêu năng động có thể lớn hoặc nhỏ theo nhu cầu.

import java.util.ArrayList;

ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Táo");
fruits.add("Chuối");
fruits.add("Cherry");

System.out.println(fruits); // In ra: [Táo, Chuối, Cherry]
System.out.println(fruits.get(1)); // In ra: Chuối

Các Tính Năng Mới trong Java 15

Bây giờ, hãy khám phá một số tính năng mới thú vị trong Java 15!

Khối Văn Bản

Khối văn bản làm cho việc làm việc với các chuỗi đa dòng dễ dàng hơn. Nó giống như viết một lá thư cho mã của bạn!

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);

Chuỗi newWay rõ ràng và dễ đọc hơn, phải không?

Lớp Đóng

Lớp sealed cho phép bạn kiểm soát những lớp nào có thể kế thừa từ chúng. Nó giống như tạo một câu lạc bộ riêng tư cho các lớp của bạn!

public sealed class Shape permits Circle, Square, Triangle {
// Mã lớp Shape
}

final class Circle extends Shape {
// Mã lớp Circle
}

final class Square extends Shape {
// Mã lớp Square
}

final class Triangle extends Shape {
// Mã lớp Triangle
}

// Điều này sẽ gây ra lỗi thời gian biên dịch:
// class Rectangle extends Shape { }

Trong ví dụ này, chỉ Circle, Square, và Triangle được phép kế thừa từ Shape. Bất kỳ lớp nào khác cố gắng kế thừa từ Shape sẽ gây ra lỗi.

Khớp Mẫu cho instanceof

Tính năng này làm cho việc làm việc với các loại đối tượng khác nhau dễ dàng hơn. Nó giống như có một thám tử thông minh trong mã của bạn!

Object obj = "Hello, Java 15!";

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

Trong các phiên bản Java cũ, chúng ta phải ép obj thành String sau khi kiểm tra instanceof. Bây giờ, chúng ta có thể làm tất cả trong một dòng!

Records

Records là một loại lớp mới hoàn hảo cho việc lưu trữ dữ liệu. Chúng giống như một cây kéo đa năng cho các đối tượng dữ liệu đơn giản!

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

Person alice = new Person("Alice", 30);
System.out.println(alice.name()); // In ra: Alice
System.out.println(alice.age()); // In ra: 30

Records tự động tạo ra các constructor, getter, equals(), hashCode(), và toString() cho chúng ta. Nó giống như có một trợ lý cá nhân cho các lớp của bạn!

Kết Luận

Wow, chúng ta đã bao quát rất nhiều nội dung hôm nay! Từ các câu lệnh điều kiện cơ bản đến các tính năng mới thú vị trong Java 15, bạn现在已经 được trang bị những công cụ mạnh mẽ cho hành trình lập trình Java của mình. Nhớ rằng, lập trình giống như học một ngôn ngữ mới - nó đòi hỏi sự thực hành, kiên nhẫn và kiên trì. Nhưng với những tính năng mới này, Java đang trở nên biểu cảm và dễ sử dụng hơn bao giờ hết.

Khi chúng ta kết thúc, tôi nhớ đến một câu nói của nhà khoa học máy tính nổi tiếng Alan Kay: "Cách tốt nhất để dự đoán tương lai là phát minh nó." Với Java 15, bạn có thêm nhiều quyền lực để phát minh tương lai thông qua mã của mình. Vậy hãy tiến lên, thử nghiệm với những tính năng mới này, và tạo ra điều gì đó tuyệt vời!

Chúc các bạn lập trình vui vẻ, các nhà lập trình Java tương lai! ??‍??‍?

Credits: Image by storyset