如题
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这两者有什么区别?javafor循环i++++i
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这两者有什么区别?javafor循环i++++i
解决方案 »
- java中关于paint()方法的问题
- 中文乱码问题
- 自己写的一小段程序,编译无法通过,求解!!!
- 希望子窗体关闭的时候,返回一个字符串给调用它的那个窗体(类),如何做?
- 编译*.java时出现 使用了未经检查或不安全操作 是怎么回事?
- enum(switch)的问题!
- 高人前辈们请进来指点下一道JAVA的代码修改
- Invalid path, \bin\javac.exe -classpath
- 大家给个建议,见笑
- 请问谁有JBuilder X的注册文件 急需!!
- Software caused connection abort: recv failed
- 用exe4j做出来的exe文件出现问题,求帮助
++i
的区别C的第一堂讲的就是...
++i具有提前性
例如:
int i=0;
System.out.println(i++);
这里结果为:0
System.out.println(++i);
这里结果为1
例如:
[align=left]for(int i=0;i<10;i++){
System.out.println(i++);
}[/align]
第一次执行前两个条件,满足,输出i=0,而后i++,i变成1,再执行for循环的第三个条件i++,i变成2;执行第二次循环,i是2,还是满足前两个条件,输入2;………………而
[align=left]for(int i=0;i<10;++i){
System.out.println(++i);
}[/align]
第一次执行前两个条件,满足,因为是输出++i,所以i先加一再输入,所以第一次输出1,而后执行for循环的第三个条件++i,i变成2;执行第二次循环,i是2,满足前两个条件,因为是输出++i,所以i先加一再输出,所以第二次出入i=3;……………………
i=i+1;
而a=++i相当于,i=i+1;
a=i;
int i=0 if(i++ == 1){}
int i=0 if(++i == 1){}
a = i++; 和 a = ++i;前者先赋值后增加,后者先增加后赋值,是运算符的
优先性决定的。
比如 int x=1;
int a=x++; 后a=1,x=2;(先赋值,x再自加)
int a=++x; 后a=2,x=2;(x先自加,再赋值)
例如:int a = 10;
int b = a++;
out.print(b); 打印10,但是这个时候a的值确是11了
int c = 10;
int d = ++c;
out.print(d); 打印11,c的值也变成了11;