我为什么不能在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 loop的通用语法如下:

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


这意味着您不能只在inizalization块中写下变量名称。如果要使用已经定义的变量,只需将其空。

这应该为您工作:

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

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

10-12 05:26