i++与++i

前两天做了java一套摸底考试题

才发现自己的基础知识如此薄弱,还是踏踏实实的吧!

 

class Happy {

    public static void main(String args[])     {

        int i = 1 ;    

        int j = i++ ;

        if((i==(++j))&&((i++)==j))     {

            i += j ;

        }

        System.out.println("i = "+i);

    }}

运行完上面代码之后输出i的值是多少?

A. 4

B. 5

C. 3

D. 6

答案:B

如题:int j=i++;  运算顺序 先将i的值赋给j然后i自增1。j=i; i=i+1;也就是结果:j=i;  i=i+1   前面知道i=1 所以运行到这:j=1;i=2;

       ++j 即:j=j+1; 这一步j=2;

    i==(++j)  2=2  所以第一个条件为真

因为是逻辑与  两个条件同时为真时,才会进if循环

所以继续判断 (i++)==j): 运算:先判断i是否等于j  然后i自增1; 结果为真,且i=3;

i += j ;i=i+j;即i=5;

输出:i=5;

 

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值