Java中的自增自减以及byte b = 127++

原理:在Java以及各中编程语言中,都会有自增和自减这样的表述方式,例如:a++ (a = a+1)代表将a先赋值后运算(或先输出后 运 算),++a表时先运算后赋值(或先运算后输出)

实例代码1:

public class HomeWork01 {
	public static void main(String[] args) {
		int a = 4;
		System.out.println(a++);
              System.out.println(a);
}}

运行结果:4   5

解释说明:在上述代码中,首先我们将a的值先输出,即a=4,然后我们再对a进行加1的操作,所以第二次输出的a的值为5

实例代码2:

public class HomeWork01 {
	public static void main(String[] args) {
		int a = 4;
		System.out.println(++a);
	}
}

运行结果:5


解释说明:在这个问题中,我们用了++a,表示先为a做加1的运算,然后再进行输出,即为:            

public class HomeWork01 {
	public static void main(String[] args) {
		int a = 4;
		a = a+1;
		System.out.println(a);
	}
}
自减同理。


实例代码3:

public class Test {
	public static void main(String[] args) {
		byte b = 127;
		System.out.println(++b);
	}
}

运行结果:-128

结果分析:127变成二进制位0111 1111

                1的二进制为0000 0001

                127与1相加后得1000 0000(-128)


           为什么-128的补码是1000 0000?

            答:将该负数取绝对值,再用二进制表示出这个绝对值 (不管符号位!)
                        对该二进制数进行取反加一操作就得到负数的补码了 (也就是求补操作!)
                        -128 绝对值是 128 
                        128的二进制表示为: 1000 0000 取反 0111 1111 加1 就是1000 0000 
                        这就是-128的补码 
                        这种办法算出的结果符合“规定值”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值