//程序1public class ForNoOb
{
public static void main(String[] args)
{
int i;
int sum = 0;
for(i = 0; i <=5; sum += i++)
System.out.println("sum is"+sum);
}
}//程序2public class ForNoOb1 {
public static void main(String[] args) {
int i,sum=0;
for(i=0;i<=5;i++) sum+=i;
System.out.println("sum is"+sum);
}
}请问程序1和程序2有什么不同吗?为什么结果会不一样。程序1的结果为10,程序2的结果为15。
{
public static void main(String[] args)
{
int i;
int sum = 0;
for(i = 0; i <=5; sum += i++)
System.out.println("sum is"+sum);
}
}//程序2public class ForNoOb1 {
public static void main(String[] args) {
int i,sum=0;
for(i=0;i<=5;i++) sum+=i;
System.out.println("sum is"+sum);
}
}请问程序1和程序2有什么不同吗?为什么结果会不一样。程序1的结果为10,程序2的结果为15。
解决方案 »
- eclipse新建项目的默认编码为何是GBK,而不是UTF-8呢?
- java有没有对线程堆栈的保存机制
- 一个关于序列化的题目(SCJP必看)
- 请问apache.jasper.JasperException错误如何修改
- [Microsoft][ODBC SQL Server Driver]语法错误或违反访问规则,急求回答
- Java中怎样判断一个字符串是否有效的时间?
- 帮我分析分析程序,呵呵,有些地方不是很明白
- 哪些设计模式使用了抽象类?
- 如何从一个MouseEvent对象中判断是左键击还是右键击或是左右同击或是双击?
- 正则表达式
- 匿名内部类问题: 这个applet里的TextArea怎么不显示线程里的信息呢?(新手帮帮忙)
- 如何判断一个文件被使用?例如一个.txt文件,java程序怎么判断它被其他程序打开呢?
1.sum=0;i=0;
2。sum = sum+i=0+0=0;i=i+1=1;
3.sum = sum+i=0+1=1; i=2;
4。sum=1+2=3; i=3;
5.sum=3+3=6; i=4;
6.sum=6+4=10;i=5;
7.sum=10+5=15,i=6>5,跳出for循环,所以最后的结果sum为10程序2明显是0+1+2+3+4+5=15
第一个程序因为先把i 加到6了所以判断大于5了,直接退出了
i = 0;
while( i <= 5){
System.out.println("sum is"+sum);
sum += i++; //(1)在for的第三个参数是在程序尾部执行的
}程序相当于
while( i <= 5){
sum+=i;
i++;
}
System.out.println("sum is"+sum);发现了吧,其实程序1的sum比程序2的少循环一次,xixi