问题描述
packageit.java.exciseday03;importjava.util.Scanner;publicclassExcise03{publicstaticvoidmain(String[]args){longa,b=0,sum=0;intn;@SuppressWarnings("resource")Scanners=newScanner(System.in);System.out.println("请输入数字a的值:");a=s.nextLong();System.out.println("请输入相加的项数:");n=s.nextInt();inti=0;while(i<n){b=a+b;sum+=b;a=a*10;++i;}System.out.println("要求的结果为:"+sum);}}这个里面的++i,用i++换可以吗?
解决方案
解决方案二:
这里可以,完全没有问题这种问题,楼主可以自己在eclipse里面试试
解决方案三:
可以。i++是在这个语句之后(使用完i之后)进行+操作,++i顺序执行(先将i进行+之后再使用i)
解决方案四:
引用1楼magi1201的回复:
这里可以,完全没有问题这种问题,楼主可以自己在eclipse里面试试
嗯。我试了,是可以就是想问问大家确定下。毕竟初学者==。。。
解决方案五:
引用2楼crazypandariy的回复:
可以。i++是在这个语句之后(使用完i之后)进行+操作,++i顺序执行(先将i进行+之后再使用i)
OK,懂了。
解决方案六:
这个一般是涉及到j=i++;和j=++i;的时候有区别楼主的这个例子,效果上就没有什么区别了。
解决方案七:
不使用赋值语句的话,i++和++i没啥区别
解决方案八:
可以换,起到的作用是一样的,但是i++是先将i赋值再将i加1,;++i是先将i+1赋给i,在进行其他运算。
解决方案九:
可以,虽然i++和++i的概念不同,但是在你没有引用i的情况下都是只是i+1
解决方案十:
引用6楼Android_iPhone的回复:
不使用赋值语句的话,i++和++i没啥区别
正解...
解决方案十一:
举个例子,比如i的值是2,如果是++i,就是先把i的值增加为3,然后再进行其他操作,i++是i先取2进行操作,操作完了之后再增加为3。他俩的区别主要体现在表达式计算中。在本例的循环语句中,他俩是可以换的。
解决方案十二:
在你这种情况下是可以的,++i是先加,i++是后加。
解决方案十三:
也就是赋值的时候有区别,试一下j=++i和j=i++的区别就懂了,分别输出一下
解决方案十四:
受教了
解决方案十五:
自己输代码试下就更清楚了。
解决方案:
在这里可以的!!
解决方案:
最好自己测一下,这样更清楚,记的牢
解决方案:
可以的,你可以自己多试试
解决方案:
可以的!!!只是表达式的值有区别,i本身的值都会自增1!
解决方案:
要上机亲测,非常简单。
解决方案:
这里是没有问题的,楼上都说的很清楚啦
解决方案:
i++和++i只有在给赋值的时候不同,其他时候都一样吧。
解决方案:
可以只是值会有变化,具体代码如下:publicstaticvoidmain(String[]args){inti=1;System.out.println("i++的结果:"+(i++));//输出1,会导致先输出1,然后执行自加System.out.println("===============================");i=1;//必须重置原有值.-----!!!!如果这里不重置,下面一行将输出3.System.out.println("++i的结果:"+(++i));//如果上面没清空,这里将输出3,如果上面执行了重置,将输出2.执行的是:先加之后在输出}
解决方案:
可以的。++i和i++;在这里没什么区别。如果是赋值的话就有问题了。++i;是先自增1再赋值,而i++;是先赋值再增加1;
解决方案:
++i是先加1,再返回,返回的值是i+1;i++是先返回,再加1,返回的是i
解决方案:
++i,i++是两个不同的概念,一个是先加,一个是后加,循环里还是i++吧
解决方案:
必须可以的,没问题
解决方案:
看回复也好有意思昂,i++和++i是不同的,在进行赋值时i++相当于a=i;i=i+1;,++i相当于i=i+1,a=i;在你这条语句中i++和++i虽然增加方式不同,但是结果是一样的。所以没问题的
解决方案:
可以的没问题的,因为i的取值在while循环里,完全没有问题
解决方案:
可以,++i,效率高
解决方案:
可以,这里没有赋值,也没有将i传递到别的方法,这种没有区别
解决方案:
我觉得没问题,一句单独的i++是没有先手顺序的区别。