求助 Java 自加自减 问题

发布时间:2024-05-18 21:56 发布:上海旅游网

问题描述:

我知道++、--在前就是先运算后取值,
可是这题我就是不会做,请大侠帮我详细就是一下,特别是第二部分

问题解答:

i初值为(i2++)即为20,此时i2加1变为21,

然后执行到i = (++i2);此时i2先加1变为22,然后i也等于i2,即为22

然后执行到i = (--i1),此时i1先减1变为9,此时i等于i1即为9

然后执行到i = (i1--),显示i先等于i1,即为9,然后i1减1变为8

++和-- 我举个例子给你看下
i=1;
int j=i++;//运行到这的时候i是1然后把值给j 在执行++
执行完这句 j=1 i=2;
int j=++i//这里先算++ 再把值给j
执行完这句 j=2 i=2;

public class Test
{
public static void main(String[] args)
{
int i1=10,i2=20;
int i=(i2++);//i=i2=20;这里i2再自加为21;
System.out.println("i="+i);//20
System.out.println("i2="+i2);//21
i=(++i2);//i2会先自加1为22;然后i=(i2+1)=22;
System.out.println("i="+i);//22
System.out.println("i2="+i2);//22
i=(--i1);//i1会先自减1等于9;然后i=i1为9
System.out.println("i="+i);//9
System.out.println("i1="+i1);//9
i=(i1--);//i会先等于i1=9;然后i1再自减1等于8
System.out.println("i="+i);//9
System.out.println("i1="+i1);//8
}
}
看看注释再自己多想想就会了,多练练就好了

int i = (i2++);
等于
int i = i2;
i2 = i2 + 1;

i = (++i2);
等于
i2 = i2 + 1;
i = i2;

这样明白了吗?
减类似,不重复了。

比如说:j=++i,j=--i,这里是先运算--i的值,然后再把自增、自减后的值即已经加了1赋值给j;
而j=i++或者j=i--,这里则是先把i的值(即还没自增自减的值)赋值给j,然后再自加或者自减。
这样明白不,其实你看多点这样的例子就明白的了。

这个题有什么问题吗

热点新闻