Java - 为什么我不能在 for 循环之外初始化变量的起始值?

标签 java for-loop

为什么我无法在 for 循环之外初始化变量的起始值?当我这样做时:

    public static void main(String[] args) {

    int userInt = 1;
    int ender = 10;

    for (userInt; userInt < ender; userInt++) {
        System.out.println(userInt);

我收到一个语法错误,指出需要为 userInt 分配一个值,即使我已经为它分配了一个值 1。当我这样做时:

public static void main(String[] args) {

    int userInt;
    int ender = 10;

    for (userInt = 1; userInt < ender; userInt++) {
        System.out.println(userInt);

错误消失了。这是什么原因?

最佳答案

Java for 循环 的通用语法如下:

for ( {initialization}; {exit condition}; {incrementor} ) code_block;

这意味着您不能只在初始化 block 中写下变量名。如果你想使用一个已经定义的变量,你只需让它为空。

这应该适合你:

for (; userInt < ender; userInt++) {
        System.out.println(userInt);
}

关于Java - 为什么我不能在 for 循环之外初始化变量的起始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238466/

相关文章:

java - 卡夫卡消费者滞后

java - 方法内部 'rollback' REST 方法调用的最佳实践

java - kubernetes 中 Pod 之间基于 Cookie 的 session 持久性

"For Loop"内的 Swift 4 Firebase 存储图像下载

python - 基于动态列表python的for循环

java - 如何在 Java 中创建对象列表

c++ - 为什么基于范围的 for 循环中的结构化绑定(bind)只是拷贝而不是引用?

python - 为什么这些 for 和 while 循环的迭代方式不同?

python - 交错 2 个长度不等的列表

java - 在自定义 Controller 中解析实体 URI (Spring HATEOAS)