java编程要注意什么_Java编程需要一注意些什么?

1、正数的机器数是原码,负数的机器数是补码,计算时需要小心。关于二进制和补码的计算可以参看《Java编程那些事儿7——进制的概念》和《Java编程那些事儿8——计算机内部的数据表达》。

2、整数型的计算结果都是int型,而不管是对byte还是short进行二进制运算。

位运算符

Java语言中的位运算符主要有4种:&(位与)、|(位或)、^(异或)和~(按位取反),下面依次介绍运算规则和使用示例。

l &(AND)

运算规则:参与运算的数字,低位对齐,高位不足的补零,对应的二进制位都为1,则运算结果为1,否则为0。

适用场合:屏蔽数字中某一位或某些位。因为任何数和0与都是0。示例代码:

int a = 4;

int b = 10;

int c = a & b;

计算过程:

4的二进制形式为0000 0000 0000 0000 0000 0000 0000 0100

10的二进制形式为0000 0000 0000 0000 0000 0000 0000 1010

按照计算规则,结果为0000 0000 0000 0000 0000 0000 0000 0000

这个数字转换为十进制就是数字0 l | (OR)

运算规则:参与运算的数字,低位对齐,高位不足的补零,对应的二进制位有一个为1则为1,否则为0。

适用场合:将数字中某一位或某些位修改成1。因为1和任何数或都是1。示例代码:

int a = 4;

int b = -10;

int c = a | b;

计算过程:

4的二进制形式为0000 0000 0000 0000 0000 0000 0000 0100

10的二进制形式为1111 1111 1111 1111 1111 1111 1111 0110

Examda提示: 按照计算规则,结果为1111 1111 1111 1111 1111 1111 1111 0110

这个二进制数转换为十进制就是数字-10。

l ^(XOR)

运算规则:参与运算的数字,低位对齐,高位不足的补零,对应的二进制位相同为零,不相同为1。适用场合:判断数字对应的位是否相同。

示例代码:

int a = 4;

int b = 10;

int c = a ^ b;

计算过程:

4的二进制形式为0000 0000 0000 0000 0000 0000 0000 0100

10的二进制形式为0000 0000 0000 0000 0000 0000 0000 1010

按照计算规则,结果为0000 0000 0000 0000 0000 0000 0000 1110

这个数字转换为十进制就是数字14 l ~(NOT)

运算规则:只操作一个数字,将该数字中为1的位变成0,为0的位变成1。

适用场合:反转数字的内容示例代码:

int a = 4;

int c = ~a;

计算过程:

4的二进制形式为0000 0000 0000 0000 0000 0000 0000 0100

按照计算规则,结果为1111 1111 1111 1111 1111 1111 1111 1011

这个数字转换为十进制就是数字-5。

其实位运算和实际的应该实现保持一致,也就是提供的电路级运算符号,每种运算符都有对应的电路实现。

实际使用简单示例:

把任意数字转换为正数

假设n是一个任意的整数,则把n转换为正数的代码为:

int m = n & 0x7fffffff;

判断任意数字倒数第三位的值是否为1假设n是一个任意的整数,则判断的代码为:

int m = n & 0x4;

boolean b = (m != 0);

将任意数字倒数第四位置为

假设n是一个任意的整数,则代码为:

int m = n | 0x8;。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值