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

Xin chào các bạn tương lai của các nhà phát triển Java! Tôi rất vui mừng được hướng dẫn các bạn trong hành trình đầy.exciting này qua thế giới của Java 12. Là một ai đó đã dạy lập trình trong nhiều năm, tôi có thể đảm bảo với các bạn rằng Java là một ngôn ngữ tuyệt vời để bắt đầu, và phiên bản 12 mang lại một số tính năng mới rất thú vị. Hãy cùng nhau lặn sâu và khám phá những bổ sung mới này!

Java 12 - New Features

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

Trước khi chúng ta đi 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 khiển cơ bản trong Java. Đây là những khối xây dựng của bất kỳ chương trình nào, và việc hiểu chúng là rất quan trọng để thành thạo Java.

Câu Lệnh If-Else

Câu lệnh if-else giống như một ngã rẽ trong chương trình của bạn. Nó cho phép mã của bạn đưa 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ể bỏ phiếu!");
} else {
System.out.println("Xin lỗi, bạn quá trẻ để bỏ phiếu.");
}

Trong ví dụ này, chương trình kiểm tra xem age có lớn hơn hoặc bằng 18 không. Nếu có, nó in ra "Bạn có thể bỏ phiếu!". Nếu không, nó in ra thông báo "quá trẻ".

Vòng Lặp For

Vòng lặp for giống như một công nhân trung thành lặp lại một nhiệm vụ một số lần cụ thể.

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

Vòng lặp này sẽ đếm từ 1 đến 5, in ra mỗi số. Nó giống như có một người giúp việc nhỏ bé đếm cho bạn!

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

Bây giờ, hãy nói về một trong những siêu năng lực của Java: Lập Trình Hướng Đối Tượng (OOP). Trong Java, mọi thứ đều là một đối tượng (ít nhất là gần như tất cả).

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

Hãy tưởng tượng một lớp như một bản vẽ cho việc tạo ra các đối tượng. Hãy tạo một lớp đơn giản Dog:

public class Dog {
String name;
int age;

public void bark() {
System.out.println("Woof! Woof!");
}
}

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

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

Đ điều này có phải không? Chúng ta vừa tạo ra một con chó ảo có thể sủa!

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

Java có rất nhiều lớp内置 (built-in) giúp cuộc sống của chúng ta dễ dàng hơn. Hãy xem xét một trong những lớp được sử dụng phổ biến nhất: lớp String.

String greeting = "Hello, World!";
System.out.println(greeting.length());  // In ra 13
System.out.println(greeting.toUpperCase());  // In ra "HELLO, WORLD!"

Lớp String có nhiều phương thức hữu ích như length() để lấy độ dài của chuỗi, và toUpperCase() để chuyển đổi nó thành chữ viết hoa.

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

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 12!

Biểu Thức Switch (Tính Năng Dự Kiểm)

Java 12 đã giới thiệu một bản xem trước của biểu thức switch, giúp các câu lệnh switch mạnh mẽ và ngắn gọn hơn.

String day = "MONDAY";
String result = switch (day) {
case "MONDAY", "FRIDAY", "SUNDAY" -> "Thư giãn";
case "TUESDAY" -> "Làm việc chăm chỉ";
case "THURSDAY", "SATURDAY" -> "Chơi thể thao";
case "WEDNESDAY" -> "Đi mua sắm";
default -> "Ngày không xác định";
};
System.out.println(result);

Cú pháp mới này cho phép chúng ta sử dụng mũi tên (->) thay vì dấu hai chấm và các câu lệnh break, làm cho mã sạch sẽ và ít lỗi hơn.

Cải Tiến Lớp String

Java 12 đã thêm một số phương thức mới vào lớp String. Một trong số đó là indent(), cho phép bạn thêm hoặc loại bỏ indention từ mỗi dòng trong một chuỗi.

String text = "Hello\nWorld";
System.out.println(text.indent(4));

Điều này sẽ in ra:

Hello
World

Mỗi dòng được indention bằng 4 khoảng trống. Đúng không?

Collectors.teeing()

Java 12 đã giới thiệu một bộ thu thập mới叫做 teeing(). Nó giống như có hai bộ thu thập riêng biệt và sau đó kết hợp kết quả của chúng.

import java.util.stream.Collectors;

double mean = List.of(1, 2, 3, 4, 5)
.stream()
.collect(Collectors.teeing(
Collectors.summingDouble(i -> i),
Collectors.counting(),
(sum, count) -> sum / count));

System.out.println("Trung bình: " + mean);  // In ra "Trung bình: 3.0"

Mã này tính toán trung bình của một danh sách số sử dụng bộ thu thập mới teeing(). Nó có phần phức tạp, nhưng nó cho thấy sức mạnh của API stream của Java!

Kết Luận

Chúng ta mới chỉ chạm vào bề mặt của các tính năng mới trong Java 12, nhưng tôi hy vọng điều này mang lại cho bạn một hương vị về những điều có thể. Nhớ rằng, học lập trình giống như học một ngôn ngữ mới - nó cần thời gian và sự luyện tập, nhưng nó rất có giá trị.

Khi chúng ta kết thúc, tôi nhớ lại một học sinh曾经说过, "Java giống như một chiếc dao quân đội Thụy Sĩ - nó có một công cụ cho mỗi nhiệm vụ!" Và bạn biết đấy? Anh ấy hoàn toàn đúng. Với mỗi phiên bản mới, Java thêm nhiều công cụ hơn vào con dao đó, làm cho nó trở nên linh hoạt và mạnh mẽ hơn.

Tiếp tục lập trình, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ! Thế giới của Java là rộng lớn và đầy thú vị, và bạn mới chỉ bắt đầu hành trình của mình. Ai biết được? Có lẽ bạn sẽ là người tạo ra tính năng lớn tiếp theo trong Java 13!

Credits: Image by storyset