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

Xin chào các bạn lập trình viên Java đang theo đuổi! Tôi rất vui mừng được hướng dẫn các bạn khám phá thế giới đầy thú vị của Java 14 và các tính năng mới của nó. Là người đã dạy khoa học máy tính trong nhiều năm, tôi có thể đảm bảo với các bạn rằng việc học Java giống như bắt đầu một cuộc phiêu lưu - luôn có điều mới để khám phá. Vậy hãy cùng nhau lặn sâu và khám phá những điều kỳ diệu của Java 14 nhé!

Java 14 - New Features

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

Trước khi chúng ta đi sâu vào các tính năng mới của Java 14, hãy nhanh chóng ôn lại một số câu lệnh điều khiển cơ bản. Đây là những khối xây dựng của bất kỳ chương trình Java nào, và việc hiểu chúng là rất quan trọng để thành thạo ngôn ngữ.

Câu Lệnh If-Else

Câu lệnh if-else giống như một ngã rẽ trên đường - 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 tuoi = 18;
if (tuoi >= 18) {
System.out.println("Bạn có thể đi bầu!");
} else {
System.out.println("Xin lỗi, bạn quá trẻ để đi bầu.");
}

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ể đi bầu!". Ngược lại, nó sẽ in ra "Xin lỗi, bạn quá trẻ để đi bầu."

Vòng Lặp For

Vòng lặp for giống như một vòng đu quay - nó cho phép bạn lặp lại một khối mã một số lần xác định.

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

Vòng lặp này sẽ in ra các số từ 1 đến 5, mỗi số trên một dòng.

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

Java là một ngôn ngữ lập trình hướng đối tượng (OOP), có nghĩa là nó dựa trên khái niệm "đối tượng" chứa dữ liệu và mã. Hãy cùng xem một ví dụ về lớp đơn giản:

public class Dog {
String ten;
int tuoi;

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

Ở đây, chúng ta đã định nghĩa một lớp Dog với các thuộc tính (ten và tuoi) và một phương thức (keu). Bạn có thể tạo và sử dụng các đối tượng của lớp này như sau:

Dog choMoi = new Dog();
choMoi.ten = "Buddy";
choMoi.tuoi = 3;
choMoi.keu(); // Output: Buddy nói: Woof!

Các Lớp Ngoại Trừ trong Java

Java cung cấp nhiều lớp ngoại trừ giúp cuộc sống của chúng ta dễ dàng hơn. Một trong những lớp thường được sử dụng nhất là lớp String.

String chao = "Xin chào, Java 14!";
System.out.println(chao.length()); // Output: 16
System.out.println(chao.toUpperCase()); // Output: XIN CHÀO, JAVA 14!

Xử Lý Tệp trong Java

Xử lý tệp là rất quan trọng đối với nhiều ứng dụng. Dưới đây là một ví dụ đơn giản về việc ghi vào một tệp:

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("Xin chào, Java 14!");
writer.close();
System.out.println("Đã ghi vào tệp thành công.");
} catch (IOException e) {
System.out.println("Đã xảy ra lỗi.");
e.printStackTrace();
}
}
}

Mã này tạo một tệp có tên "output.txt" và ghi "Xin chào, Java 14!" vào nó.

Lỗi và Ngoại Trừ trong Java

Lỗi và ngoại trừ là một phần của cuộc sống lập trình. Java cung cấp một cơ chế mạnh mẽ để xử lý chúng. Dưới đây là một ví dụ:

public class DivisionExample {
public static void main(String[] args) {
try {
int ketQua = 10 / 0;
System.out.println("Kết quả: " + ketQua);
} catch (ArithmeticException e) {
System.out.println("Lỗi: Không thể chia cho không!");
}
}
}

Chương trình này cố gắng chia cho không, điều này thường gây ra lỗi. Tuy nhiên, chúng ta đã bao bọc nó trong một khối try-catch để xử lý ngoại trừ một cách êm ái.

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

Bây giờ, hãy khám phá một số tính năng mới thú vị được giới thiệu trong Java 14!

Ký Hiệu Records

Records là một loại lớp mới trong Java 14 giúp dễ dàng tạo ra cáccarrier dữ liệu đơn giản, không thay đổi. Chúng非常适合 khi bạn chỉ cần một lớp để giữ một số dữ liệu.

public record Person(String ten, int tuoi) { }

Lời khai báo đơn giản này tạo ra một lớp với hai trường (ten và tuoi), một constructor và các phương thức như equals(), hashCode()toString(). Nó tương đương với một định nghĩa lớp truyền thống dài hơn nhiều!

Khớp Mẫu cho instanceof

Java 14 giới thiệu một phiên bản cải tiến của toán tử instanceof bao gồm khớp mẫu. Điều này làm cho mã của bạn ngắn gọn và dễ đọc hơn.

if (obj instanceof String s) {
// có thể sử dụng s như một String ở đây
System.out.println(s.length());
}

Trong ví dụ này, nếu obj là một String, nó sẽ tự động được ép kiểu thành String và gán cho biến s.

Biểu Thức Switch

Biểu thức switch, được xem trước trong các phiên bản trước, bây giờ là tiêu chuẩn trong Java 14. Chúng cho phép bạn sử dụng switch như một biểu thức và trả về một giá trị.

String loaiNgay = switch(ngayCuaTuan) {
case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> "Ngày thường";
case SATURDAY, SUNDAY -> "Cuối tuần";
};

Biểu thức switch này gán "Ngày thường" hoặc "Cuối tuần" cho loaiNgay dựa trên giá trị của ngayCuaTuan.

Tin Nhắn Hữu Ích của NullPointerException

Java 14 cung cấp các tin nhắn NullPointerException hữu ích hơn, chỉ ra chính xác biến nào là null.

Person nguoi = null;
System.out.println(nguoi.ten);

Thay vì một tin nhắn NullPointerException chung chung, bạn sẽ nhận được một tin nhắn như "Không thể gọi phương thức 'Person.getTen()' vì 'nguoi' là null".

Đây chỉ là một số ít các tính năng mới trong Java 14. Khi bạn tiếp tục hành trình Java của mình, bạn sẽ khám phá nhiều khả năng thú vị khác của ngôn ngữ mạnh mẽ này. Nhớ rằng, lập trình là kỹ năng cải thiện với sự gyak, vì vậy đừng ngại thử nghiệm và viết nhiều mã!

Chúc các bạn lập trình vui vẻ, những chuyên gia Java tương lai!

Credits: Image by storyset