黑马程序员技术交流社区
标题:
对于++的见解
[打印本页]
作者:
lnz_黑仔
时间:
2014-12-26 00:28
标题:
对于++的见解
class TestB
{
public static void main(String[] args)
{
byte b = (byte) -130;
System.out.println(b);
int i1=2,i2=2,i3=2,i4=2,i5=2,i6=2,i7=2;
int i=2;
i1=(i1++)+3;//i1=5;解析:i1直接拿出来运算=2+3;(在右边还保留着i1=1+1,但是由于后面没有i1不接着运算,它结果也没出来;)
i2=(i2++)+(++i2);//i2=6;++i2先算,i2=3后第一个i2=3;结果=3+3=6
i3=(i3++)+(++i3)+(i3++);//i3=10;++i3先算=3;第一个i3=3;第一个里面还有i3=i3++,所以第二个i3++的i3为4,结果=3+3+4=10
i4=(i4++)+(++i4)+(i4++)+(i4++);//i4=15;同上结果等于3+3+4+5=15;
i5=(i5++)+(i5++);//i5=5;如上:第一个i5拿出来=2,后他本身还有个++运算i5=3所以第二个i5=3;结果为2+3+5;
i6=(i6++)+(i6++)+(i6++);//i6=9同上结果=2+3+4=9
i=i++;/*i=2;解析:i先提出来值2,直接赋值左边的i中了,右边虽然还有++但其已运算赋值结束;右边还含有个i=i++公式,但后面没有运用到该运算值也就没显示,不继 续做运算;*/
i7=(i7++)+(++i7)+(i7++)+(++i7);//16; 4+3+5+4=16//2+4+4+6=16
System.out.println("i1="+i1);
System.out.println("i2="+i2);
System.out.println("i3="+i3);
System.out.println("i4="+i4);
System.out.println("i5="+i5);
System.out.println("i6="+i6);
System.out.println("i7="+i7);
System.out.println("i="+i);
System.out.println(~8);
System.out.println(~-8);
System.out.println(~-1);
System.out.println(~-2);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2