发布网友 发布时间:2022-04-21 09:47
共5个回答
热心网友 时间:2023-11-09 06:28
其实这个问题比较简单,++在变量前,就表示先对变量做加 1 的运算;再向前进行运算。++在变量后,表示先做变量之前的运算,做完后再对变量加一。
详解:
第一个 ++ 先对i 加一,此时i变为4 ,此时 i 前边没有运算,
第二个 ++ 先对i 加一,i 变为 5,再对前边的 4 做加法运算,
第三个 ++ 此时i为5 , 先对前边的 4+5 做加法运算,然后再对i做加一运算,i变为 6。
第四个 ++ 先对i 加一,i 变为 7,再对前边的 4+5+5 做加法运算,
最后结果为:4+5+5+7=21。
希望对你有所帮助。
热心网友 时间:2023-11-09 06:29
首先 一楼的回答是错误的
引用:
这个跟java无关,所有的编程语言都是如此
假设i=2;
a=i++; 运行后 a=2,i=3
a=++i; 运行后 a=3,i=2
正确的应该是
假设i=2;
a=i++; 运行后 a=2,i=3
a=++i; 运行后 a=3,i=3
再说说这个题目
++i 前++,意思是先把i自增1 然后把i用于计算
i++ 后++,意思是先把i用于计算,再把i自增1
int i=3;
int count=(++i)+(++i)+(i++)+(++i);
System.out.println(count);
//输出结果是21 下面解释一下为什么是21
第一个括号里 i先自增1 算完后 i是4 第一个括号的值也是4
第二个括号里 i先自增1 算完后 i是5 第二个括号的值也是5
第三个括号里 i先用用于计算 然后再自增1 算完后 i的值是6 第三个括号值5
第四个括号里 i先自增1 算完后 i是7 第三个括号的值是7
所以count = 4+5+5+7 = 21 最终i的值是 7
热心网友 时间:2023-11-09 06:29
count=(++i==4 {加号在前要先加一位,也就是4})+(++i==5 {之前的i已经变成4,再加一位就是5})+(i++==5 加号在后取当前i的值,计算后再加一)+{这时i变成6}+(++i{之前在算做6后再加一,现在是7})
也就是说 count=4+5+5+7=21;
总结:加号在变量的前后决定括号里当前变量的数值
热心网友 时间:2023-11-09 06:30
先加后加的问题
i=3;
int count=(++i)+(++i)+(i++)+(++i);
如
int count=4+5+5+7;
用显微镜继续放大
int count=(++i 我本身是3,因为先加,所以我变成了4)+(++i,我本身是4,因为先加,所以我变成了5)+(i++我本身是5,因为后加,所以我没变,但是后续使用到我的地方,我就是6了)+(++i 我本身是6,因为先加,所以我变成了7);
呵呵,估计你忘不了了
热心网友 时间:2023-11-09 06:31
(++i)(i=4)+(++i)(i=5)+(i=5, 之后i再加1, i在与前面的项相加之后,变成6)(i++)+(++i)(i=7) = 4 + 5 + 5 + 7 = 21;