JavaRush /Java 博客 /Random-ZH /喝咖啡休息#154。Java 中的三种类型的循环。JDK 19:Java 19 新功能将于 9 月推出

喝咖啡休息#154。Java 中的三种类型的循环。JDK 19:Java 19 新功能将于 9 月推出

已在 Random-ZH 群组中发布

Java 中的三种循环类型

来源:Medium 阅读完这篇文章后,您将了解 Java 中循环的不同方式。 喝咖啡休息#154。 Java 中的三种类型的循环。 JDK 19:Java 19 新功能将于 9 月推出 - 1循环旨在执行一段代码,直到条件成立。Java 中的循环分为三种类型:
  • 尽管
  • 边做边做
  • 为了

While 循环

while 循环将重复执行,直到指定的布尔条件计算结果为 true。如下图所示,该语句将一直执行,直到条件测试返回 true。 喝咖啡休息#154。 Java 中的三种类型的循环。 JDK 19:Java 19 新功能将于 9 月推出 - 2

句法

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

例子

这里将执行 while 循环,直到 x 小于 3 时条件为真。
public class WhileLoop {
     static int x = 1;
     public static void main(String[] args) {
         while(x < 3) {
             System.out.println("x = "+x);
             x++;
         }
     }
}
结论:
x = 1 x = 2

do-while 循环

do-while 循环与 while 循环类似,只有一点点不同。do-while 循环总是在测试条件之前运行一次。 喝咖啡休息#154。 Java 中的三种类型的循环。 JDK 19:Java 19 新功能将于 9 月推出 - 3

句法

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

例子

在此示例中,您可以看到 do 语句或代码块总是在测试条件为 true 或 false 之前执行一次。
static int x = 5;
        public static void main(String[] args) {
            do {
                System.out.println("x = "+x);
                x++;
            } while(x < 3);
        }
结论
x = 5

for循环

for 循环与 while 和 do-while 循环有很大不同。在一个语句行中,我们定义初始化、条件(真或假)、增量/减量。 喝咖啡休息#154。 Java 中的三种类型的循环。 JDK 19:Java 19 新功能将于 9 月推出 - 4

句法

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

例子

public static void main(String[] args) {
     for(int i = 0 ; i < 2 ; i++) {
         System.out.println("i = " + i);
     }
}
结论:
我 = 0 我 = 1
初始化: int i = 0 是循环初始化条件。 条件:检查运行 for 循环内的块或代码的条件是否为真。如果条件为假,则循环将结束。 递增/递减:更新下一次迭代的变量。

扩展 for 循环(for-each)

for 循环还有另一个版本,它比简单的 for 循环更紧凑、更易读。它称为扩展 for 循环(或 for-each 循环),用于迭代集合和数组。它可用于任何实现 Iterable 接口的对象。

例子

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

        for (int i: A) {
            System.out.println(i);
        }
    }
}
结论:
1 2 3 4 5

JDK 19:Java 19 新功能将于 9 月推出

来源:Infoworld 以下是即将发布的 JDK 版本中将出现的新功能列表。其发布日期为 2022 年 9 月 20 日。 Java Development Kit 19 是将于 9 月份发布的短期支持版本,目前已进入候选版本阶段。有七个功能值得关注:结构化并行性、记录模板、外部和内存 API 预览以及对开源 Linux/RISC-V 指令集架构 (ISA) 的支持。由于 JDK 19 已冻结新功能,因此其他计划的功能(例如泛型和值对象)将推迟到该平台的更高版本。通常,Java 的新版本每六个月发布一次。继 6 月和 7 月两次缩减版本之后,JDK 19 候选版本于 8 月 11 日发布。第二个候选版本预计将于 8 月 25 日发布。JDK 19 的早期版本可以从jdk.java.net/19下载。JDK 19 的功能包括:
  • 结构化并行性(在孵化阶段)。它旨在使用结构化并发 API 简化多线程编程。这种并行性将不同线程上运行的多个任务视为单个工作单元。因此,这将简化错误处理和取消,并且可靠性也将得到提高。

  • 记录模板预览(用于解析记录值)。记录模式和类型模式现在可以嵌套,提供声明性、强大且可组合的导航和数据操作形式。新功能包括扩展模式匹配以表达更复杂的复合数据查询,而无需更改类型模式的语法或语义。

    这项创新建立在 2021 年 3 月 JDK 16 中引入的 instanceof 模式匹配的基础上。未来的版本可能需要使用数组模板和可变参数模板等功能来扩展记录模板。

    Post 模板是Amber 项目的一部分,该项目旨在探索和开发小型的、面向性能的 Java 功能。

  • 外部和内存 API 函数的预览版本。新版本将引入一个 API,允许 Java 程序与 Java 运行时之外的代码和数据进行交互。通过高效地调用第三方函数(即 JVM 外部的代码)和安全地访问外部内存(不由 JVM 管理的内存),API 将允许 Java 程序调用本机库并处理本机数据,而不会出现 Java 的缺点。本机接口 (JNI)。

    外部和内存 API 结合了两个早期的孵化 API:外部内存访问 API 和外部链接器 API。外部函数和内存 API 之前在 JDK 17 中孵化,并在 JDK 18 中重新孵化。

  • 虚拟线程的预览。此功能引入了轻量级线程,大大减少了编写、维护和监视高性能并行应用程序的工作量。创新的目的是提供扩展以简单的每个请求线程风格编写的服务器应用程序的能力。该功能的目标代码使用 java.lang Thread API 以最小的更改注入虚拟线程,并使用现有的 JDK 工具对虚拟线程进行故障排除、调试和分析。

  • switch 表达式和语句的模式匹配的第三次预览。它将模式匹配扩展到 switch,这将允许针对多种模式测试表达式,每种模式都有特定的效果,因此可以简洁、安全地表达复杂的以数据为中心的查询。

    此功能之前已在 JDK 17 和 JDK 18 中预览过。第三个预览版增加了改进,包括用 switch 块中的子句替换 protected when 模式。此外,当选择器表达式的值为 null 时,切换模式的运行时语义现在支持旧版切换语义。

    这项创新将允许模式出现在 case 标签中,从而扩展 switch 表达式和运算符的表现力和适用性。它还将使开发人员能够在需要时缓解对空值和 switch 的历史仇恨,提高 switch 语句的安全性,并确保现有的 switch 语句和语句继续编译不变并以相同的语义执行。

  • 第四次孵化载体API。它将表达向量计算,在运行时可靠地编译成支持的处理器架构上的最佳向量指令。这将提供比同等标量计算更好的性能。使用 API 的开发人员能够使用 HotSpot 的自动向量化器在 Java 中编写复杂的向量算法,但使用自定义模型可以使向量化更加可预测和可靠。Vector API 之前在 JDK 16、JDK 17 和 JDK 19 中孵化。

    Vector API将扩展按位积分线性运算,包括计算位数、反转位顺序以及压缩和扩展位等操作。

  • Linux/RISC-V Java 端口将获得多种语言工具包已经支持的硬件指令集支持。Linux/RISC-V 端口现在将支持 RV64GV RISC-V 配置,这是一种包含向量指令的 64 位通用 ISA。

    该端口还将支持以下 HotSpot 虚拟机选项:模板解释器、C1 JIT 编译器(客户端)、C2 JIT 编译器(服务器)以及所有当前主要的垃圾收集器,包括 ZGC 和 Shenandoah。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION