gpt4 book ai didi

java - 在 Java 'for loop' 增量器中,什么样的语句是合法的?

转载 作者:行者123 更新时间:2023-12-04 05:52:21 25 4
gpt4 key购买 nike

在准备 OCP Java 程序员考试时,我惊讶地发现这是合法的语法:

for(int i = 0; i < 3; i++, System.out.print("howdy ")) ;

这让我思考!在测试一些类似的东西时,我发现这不能编译:
for(;; int j = 0) ;

找不到这方面的太多信息。任何人都可以提供引用或解释为什么在增量器部分声明一个新变量不能编译但其他语句(方法调用等)可以?它只是(for 循环范围内的)变量声明还是这里不允许任何其他类型的语句?

最佳答案

许多语句都是有效的(请参阅 alexei 提供的链接),但是您必须查看表达式的范围才能理解为什么这种初始化不起作用:

范围覆盖 for 循环的所有迭代(而不是每次都有一个新范围)。第一部分只执行一次,但第二和第三部分在每个循环结束时执行。因此,如果您将声明放在第三部分,它会被多次声明(这是不允许的)。

关于java - 在 Java 'for loop' 增量器中,什么样的语句是合法的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9922765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com