
java中的++i和i++如何计算
packagedir.Demo;importjava.util.*;publicclassDemo01{publicstaticvoidmain(String[]args...
package dir.Demo;
import java.util.*;
public class Demo01 {
public static void main(String[] args) {
int i = 2 ;
int d ;
d = i++ + ++i + ++i + ++i + ++i + ++i / 10 / 16 ;
System.out.println(i) ;
System.out.println(d) ;
}
}
i的我会算d的我不会算还请各位帮忙把d的公式写下来做参考本人先谢谢各位了 展开
import java.util.*;
public class Demo01 {
public static void main(String[] args) {
int i = 2 ;
int d ;
d = i++ + ++i + ++i + ++i + ++i + ++i / 10 / 16 ;
System.out.println(i) ;
System.out.println(d) ;
}
}
i的我会算d的我不会算还请各位帮忙把d的公式写下来做参考本人先谢谢各位了 展开
6个回答
展开全部
++i是i参与计算之前自增1,i++就是i参与计算之后自增1
在java中i++和++i都是运算方式
例:
1、i++先引用后增加
int i=0;
int j=i++;
运算过后,j=0;表明i++是指先把i赋值给j然后再自身加1;
2、++i 先增加后引用
int i=0;
int j=++i;
运算过后,j=1;表明++i是指先自身加1后赋值给j;
在java中i++和++i都是运算方式
例:
1、i++先引用后增加
int i=0;
int j=i++;
运算过后,j=0;表明i++是指先把i赋值给j然后再自身加1;
2、++i 先增加后引用
int i=0;
int j=++i;
运算过后,j=1;表明++i是指先自身加1后赋值给j;
展开全部
i++就是i参与计算之后自增1,++i是i参与计算之前自增1:
d=i++ + ++i + ++i + ++i + ++i + ++i / 10 / 16 ;
第一个加数:i++为2,之后i=3,
第二个加数:++i为4,之后i=4,
第三个加数:++i为5,之后i=5,
第四个加数:++i为6,之后i=6,
第四个加数:++i为7,之后i=7,
第五个加数:++i/10/16,首先++i为8,之后i为8,然后8/10/16=0,这里是整数不计余数
结果 d = 2 + 4 + 5 + 6 + 7 + 0 = 24; i = 8
追问
我就不知道为什么要加零呢不是加八吗
然到不是这样写的吗?
2 + 4 + 5 + 6 + 7 + 8 / 10 / 16
追答
加减乘除,先算乘除啊,8 / 10 / 16 =0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
步骤一:万变不离其宗
非,算,关,与,或,条,赋 (运算符优先级 高到低)
步骤二:i++ 后做i=i+1
++i 先做i=i+1
步骤三:d = i++ + ++i + ++i + ++i + ++i + ++i / 10 / 16 ;
<==>
d = i++ + ++i + ++i + ++i + ++i + (++i / 10 / 16) ;
d = 3 + 5 + 6 + 7 + 8 + ( 3 / 10 / 16 );
步骤四:不知道错了没
追问
这样算好像是错误的用加法可以一旦用了除法就不行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++是先先执行操作再自动加1,++i是先自动加1再执行操作,也就是d=2+4+5+6+7+8/10/16=24,此时i=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++i的值为i+1,同时i的值立即加1;而i++的值为i,表达式结束之后或者遇到分隔符i的值才变为i+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询