JavaRush /Blog Java /Random-VI /Nghỉ giải lao #154. Ba loại vòng lặp trong Java. JDK 19: ...

Nghỉ giải lao #154. Ba loại vòng lặp trong Java. JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9

Xuất bản trong nhóm

Ba loại vòng lặp trong Java

Nguồn: Medium Sau khi đọc bài đăng này, bạn sẽ tìm hiểu về các cách lặp khác nhau trong Java. Nghỉ giải lao #154.  Ba loại vòng lặp trong Java.  JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9 - 1Vòng lặp được thiết kế để thực thi một khối mã cho đến khi một điều kiện trở thành đúng. Có ba loại vòng lặp trong Java:
  • trong khi
  • làm trong khi

Trong khi lặp lại

Vòng lặp while lặp lại cho đến khi điều kiện Boolean được chỉ định là đúng. Như thể hiện trong sơ đồ bên dưới, câu lệnh sẽ được thực thi cho đến khi kiểm tra điều kiện trả về true. Nghỉ giải lao #154.  Ba loại vòng lặp trong Java.  JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9 - 2

Cú pháp

while (condition true) {
       // Блок codeа
}

Ví dụ

Ở đây vòng lặp while sẽ được thực thi cho đến khi điều kiện đúng với x nhỏ hơn 3.
public class WhileLoop {
     static int x = 1;
     public static void main(String[] args) {
         while(x < 3) {
             System.out.println("x = "+x);
             x++;
         }
     }
}
Phần kết luận:
x = 1 x = 2

vòng lặp do-while

Vòng lặp do-while tương tự như vòng lặp while nhưng có một khác biệt nhỏ. Vòng lặp do-while luôn chạy một lần trước khi kiểm tra điều kiện. Nghỉ giải lao #154.  Ba loại vòng lặp trong Java.  JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9 - 3

Cú pháp

do {
     //  Блок codeа
   } while(condition);

Ví dụ

Trong ví dụ này, bạn có thể thấy rằng câu lệnh do hoặc khối mã luôn được thực thi một lần trước khi kiểm tra xem điều kiện là đúng hay sai.
static int x = 5;
        public static void main(String[] args) {
            do {
                System.out.println("x = "+x);
                x++;
            } while(x < 3);
        }
Phần kết luận
x = 5

vòng lặp for

Vòng lặp for rất khác với vòng lặp while và do-while. Trong một dòng lệnh, chúng ta xác định khởi tạo, điều kiện (đúng hoặc sai), tăng/giảm. Nghỉ giải lao #154.  Ba loại vòng lặp trong Java.  JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9 - 4

Cú pháp

For (initialization; condition; increment/decrement) {
    // Блок codeа
}

Ví dụ

public static void main(String[] args) {
     for(int i = 0 ; i < 2 ; i++) {
         System.out.println("i = " + i);
     }
}
Phần kết luận:
tôi=0 tôi=1
Khởi tạo: int i = 0 là điều kiện khởi tạo vòng lặp. Điều kiện: Kiểm tra xem điều kiện để chạy khối hoặc mã bên trong vòng lặp for có đúng hay không. Nếu điều kiện sai thì vòng lặp sẽ kết thúc. Tăng/giảm: cập nhật biến cho lần lặp tiếp theo.

Vòng lặp for mở rộng (cho mỗi)

Có một phiên bản khác của vòng lặp for nhỏ gọn và dễ đọc hơn vòng lặp for đơn giản. Nó được gọi là vòng lặp for mở rộng (hoặc vòng lặp for-each) và được sử dụng để lặp qua các bộ sưu tập và mảng. Nó có sẵn cho bất kỳ đối tượng nào triển khai giao diện Iterable.

Ví dụ

class Main
{
    public static void main(String[] args)
    {
        int[] A = { 1, 2, 3, 4, 5 };

        for (int i: A) {
            System.out.println(i);
        }
    }
}
Phần kết luận:
1 2 3 4 5

JDK 19: Các tính năng Java 19 mới sắp ra mắt vào tháng 9

Nguồn: Infoworld Dưới đây là danh sách các tính năng mới sẽ xuất hiện trong bản phát hành JDK sắp tới. Dự kiến ​​phát hành vào ngày 20 tháng 9 năm 2022. Bộ công cụ phát triển Java 19, một bản phát hành hỗ trợ ngắn hạn sẽ ra mắt vào tháng 9, đã đạt đến giai đoạn ứng viên phát hành. Có bảy tính năng cần chú ý: song song có cấu trúc, mẫu bản ghi, xem trước API bộ nhớ và API nước ngoài, đồng thời hỗ trợ kiến ​​trúc tập lệnh Linux/RISC-V nguồn mở (ISA). Vì các tính năng mới đã bị đóng băng cho JDK 19 nên các tính năng được lên kế hoạch khác, chẳng hạn như các đối tượng chung và giá trị, đang được hoãn lại cho phiên bản mới hơn của nền tảng. Thông thường, một phiên bản Java mới được phát hành sáu tháng một lần. Bản thử nghiệm phát hành JDK 19 đã được xuất bản vào ngày 11 tháng 8, sau hai bản phát hành giảm mạnh vào tháng 6 và tháng 7. Ứng cử viên phát hành thứ hai dự kiến ​​​​vào ngày 25 tháng 8. Bạn có thể tải xuống các bản dựng đầu tiên của JDK 19 từ jdk.java.net/19 . Các tính năng của JDK 19 bao gồm:
  • Cấu trúc song song (trong giai đoạn ủ bệnh). Nó được thiết kế để đơn giản hóa việc lập trình đa luồng bằng API đồng thời có cấu trúc. Tính song song này xử lý nhiều tác vụ chạy trên các luồng khác nhau như một đơn vị công việc duy nhất. Theo đó, điều này sẽ đơn giản hóa việc xử lý và hủy bỏ lỗi, đồng thời độ tin cậy cũng sẽ được cải thiện.

  • Xem trước các mẫu bản ghi (để phân tích các giá trị bản ghi). Giờ đây, các mẫu bản ghi và mẫu loại có thể được lồng vào nhau, cung cấp một dạng khai báo, mạnh mẽ và có thể kết hợp được để điều hướng và thao tác dữ liệu. Tính năng mới bao gồm việc mở rộng việc khớp mẫu để thể hiện các truy vấn dữ liệu phức hợp phức tạp hơn mà không thay đổi cú pháp hoặc ngữ nghĩa của các mẫu kiểu.

    Sự đổi mới này được xây dựng dựa trên tính năng khớp mẫu của instanceof được giới thiệu trong JDK 16 vào tháng 3 năm 2021. Các bản phát hành trong tương lai có thể yêu cầu mở rộng các mẫu bản ghi với các tính năng như mẫu mảng và mẫu vararg.

    Mẫu bài đăng là một phần của dự án Amber , nhằm mục đích khám phá và phát triển các tính năng Java nhỏ, hướng đến hiệu suất.

  • Phiên bản xem trước của các chức năng API bộ nhớ và ngoại vi . Bản phát hành mới sẽ giới thiệu một API cho phép các chương trình Java tương tác với mã và dữ liệu bên ngoài thời gian chạy Java. Bằng cách gọi hiệu quả các hàm của bên thứ ba (nghĩa là mã bên ngoài JVM) và truy cập an toàn vào bộ nhớ ngoài (bộ nhớ không được JVM quản lý), API sẽ cho phép các chương trình Java gọi các thư viện gốc và xử lý dữ liệu gốc mà không gặp nhược điểm của Java Giao diện gốc (JNI).

    API bộ nhớ và API ngoại kết hợp hai API ủ trước đó: API truy cập bộ nhớ ngoài và API trình liên kết bên ngoài. API bộ nhớ và hàm ngoại trước đây đã được ươm tạo trong JDK 17 và được ươm lại trong JDK 18.

  • Xem trước các chủ đề ảo. Tính năng này giới thiệu các luồng nhẹ giúp giảm đáng kể nỗ lực viết, duy trì và giám sát các ứng dụng song song hiệu suất cao. Mục đích của sự đổi mới là cung cấp khả năng mở rộng quy mô các ứng dụng máy chủ được viết theo kiểu luồng theo yêu cầu đơn giản. Tính năng này nhắm mục tiêu mã sử dụng API luồng java.lang để chèn các luồng ảo với những thay đổi tối thiểu cũng như khắc phục sự cố, gỡ lỗi và lập hồ sơ các luồng ảo bằng các công cụ JDK hiện có.

  • Bản xem trước thứ ba của việc khớp mẫu cho các biểu thức và câu lệnh chuyển đổi. Nó mở rộng việc so khớp mẫu cho chuyển đổi, điều này sẽ cho phép kiểm tra một biểu thức dựa trên một số mẫu, mỗi mẫu có một hiệu ứng cụ thể, do đó, các truy vấn tập trung vào dữ liệu phức tạp có thể được thể hiện một cách chính xác và an toàn.

    Tính năng này trước đây đã được xem trước trong JDK 17 và JDK 18. Bản xem trước thứ ba bổ sung các cải tiến, bao gồm việc thay thế các mẫu được bảo vệ khi bằng các mệnh đề trong khối chuyển đổi. Ngoài ra, ngữ nghĩa thời gian chạy của mẫu chuyển đổi khi giá trị của biểu thức bộ chọn là null hiện hỗ trợ ngữ nghĩa chuyển đổi cũ.

    Sự đổi mới sẽ mở rộng tính biểu cảm và khả năng ứng dụng của các biểu thức và toán tử chuyển đổi bằng cách cho phép các mẫu xuất hiện trong nhãn chữ hoa. Nó cũng sẽ cung cấp cho các nhà phát triển khả năng giảm bớt sự thù địch lịch sử đối với null và switch khi cần, cải thiện tính an toàn của các câu lệnh switch và đảm bảo rằng các câu lệnh switch và câu lệnh switch hiện tại tiếp tục biên dịch không thay đổi và thực thi với ngữ nghĩa giống hệt nhau.

  • Lần ủ thứ tư của API vector . Nó sẽ thể hiện các phép tính vectơ được biên dịch một cách đáng tin cậy trong thời gian chạy thành các hướng dẫn vectơ tối ưu trên các kiến ​​trúc bộ xử lý được hỗ trợ. Điều này sẽ mang lại hiệu suất tốt hơn so với các phép tính vô hướng tương đương. Các nhà phát triển sử dụng API có khả năng viết các thuật toán vectơ phức tạp trong Java bằng cách sử dụng trình vectơ tự động của HotSpot, nhưng với một mô hình tùy chỉnh giúp cho việc vectơ hóa dễ dự đoán và đáng tin cậy hơn. API Vector trước đây đã được ươm tạo trong JDK 16, JDK 17 và JDK 19.

    API Vector sẽ mở rộng các hoạt động tuyến tính tích phân theo bit, bao gồm các hoạt động như đếm số bit của một người, đảo ngược thứ tự các bit cũng như nén và mở rộng các bit.

  • Cổng Java Linux/RISC-V sẽ nhận được hỗ trợ tập lệnh phần cứng vốn đã được hỗ trợ bởi nhiều bộ công cụ ngôn ngữ. Cổng Linux/RISC-V giờ đây sẽ hỗ trợ cấu hình RV64GV RISC-V, ISA đa năng 64-bit bao gồm các lệnh vectơ.

    Cổng cũng sẽ hỗ trợ các tùy chọn máy ảo HotSpot sau: trình thông dịch mẫu, trình biên dịch JIT C1 (máy khách), trình biên dịch JIT C2 (máy chủ) và tất cả các trình thu gom rác chính hiện tại, bao gồm ZGC và Shenandoah.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION