Java for循环语法问题

package com.hu;
public class Demo3 {
public static void main(String[] args) {
int i=0;
for (i; i < 100; i++) {

    }
}

}

9个回答

Java语言for循环语句第一个部分不允许用 循环变量 本身。

可以让它空着,如下:

 for (; i < 100; i++) {
    }

实际上,第一部分和第三部分都可以空。

如下这样也行:

  for (; i < 100;) {
    }
fight_in_dl
战在春秋 回复新手不会: for (int i=0 ; i < 100; i++)的写法 i 的可见范围就在循环体内
2 年多之前 回复
fight_in_dl
战在春秋 嗯,是我说错了,你当这句话没写....。第一部分是initialization,要么int i = 0; for (; i < 100; i++) 要么for (int i=0 ; i < 100; i++)
2 年多之前 回复
qq_31515997
hello.. 哪里有这句话 Java语言for循环语句第一个部分不允许用 循环变量 本身 ? 我看下
2 年多之前 回复
fight_in_dl
战在春秋 for(initialization; Boolean_expression; update) { // Statements } 这是for语句的结构,你在外部已经定义并初始化循环变量,所以空着就行
2 年多之前 回复

for (i; i < 100; i++) i已经被赋值了,可以空着,但分号还是需要的

oSanYeCao1234567
RoidCoder 回复新手不会: 建议去复习下java的基本语法吧
2 年多之前 回复
qq_31515997
hello.. 你没有解决我的问题, 我写一个i在哪里为什么是错的
2 年多之前 回复

int i=0;
for (i; i < 100; i++) {
}
for循环里的i多余了,因为你上面已经定义了一个全局的i,在for循环中第一个i没有任何作用。
要么给for中的第一个i重新赋值,比如i=0;
要么把for循环里的i去掉,直接写成for (; i < 100; i++) {
};

谁能告诉我为什么是错的

是编译错误还是运行时错误呢

fight_in_dl
战在春秋 是编译错误。
2 年多之前 回复

将int i=0;写进去 试试
for(int i=0;i<=100;i++)
{

}

qq_31515997
hello.. 。。。。 给点有用的好吧兄弟,
2 年多之前 回复

这个for的第一个分号前是对变量的初始化,因此不能写i,因为i的值不确定,不能完成初始化,就会报错啦

for 语句的第一个分号必须是基础语句 ( 赋值语句 或者 方法调用 ), 写个i放在哪里当然报错. 编译器也不知道你想干什么

int i =0;
for (; i < 10; i++) {
System.out.println(i);
}
建议这样写。因为你上面已经定义好i了,下面就没必要再去写一次,直接写后面就好了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问