×

java2 0 java

java ~2 是多少,怎么解释?在这段java代码--俄罗斯方块,方块是怎么旋转的

admin admin 发表于2022-05-06 00:23:48 浏览108 评论0

抢沙发发表评论

java ~2 是多少,怎么解释

public class Test {    public static void main(String args) {        System.out.println(~2);        System.out.println(byteToBit((byte) 2));        System.out.println(byteToBit((byte) ~2));    }    public static String byteToBit(byte b) {        return ““                + (byte) ((b 》》 7) & 0x1) + (byte) ((b 》》 6) & 0x1)                + (byte) ((b 》》 5) & 0x1) + (byte) ((b 》》 4) & 0x1)                + (byte) ((b 》》 3) & 0x1) + (byte) ((b 》》 2) & 0x1)                + (byte) ((b 》》 1) & 0x1) + (byte) ((b 》》 0) & 0x1);    }}

~2 = -3。

2的bit值为00000010,~表示按位取反,11111101转换为十进制数字后是-3

在这段java代码--俄罗斯方块,方块是怎么旋转的

贴出来的代码还不够,不过已经基本能回答你的问题了我的推理过程:从(turnstate+1)%4可以看出,turnstate是一个数字,取值只有0123,因此它仅仅是一个标识符,0123四种取值分别标记着这个方块处于原状,旋转90度,180度或者270度。然后blow函数应该是一个判断旋转之后会不会出现和已有方块重叠的函数。因此,这个turn函数的功能是:把标识符变成下一个状态,然后判断如果旋转,会不会和已有的方块重叠,如果重叠,就取消这个旋转标记的改变。因此,答案就很明显了:真正实现旋转方块的操作并不在这里,或者说,你再仔细研究一下这个程序的代码,它可能实际上根本没有旋转过那个方块,只是用turnstate这个数字标记方块旋转了多少度,判断重叠以及绘制的时候才真正计算或者从表里直接读取旋转后状态而已。

java代码nextInt是什么

当程序执行时,你需要输入int型数据的时候,就用到这个。比如: Scanner in=new Scanner(System.in); System.out.println(“ 请输入一个数字“); int num=in.nextInt();System.out.println(num); 就可以输出你刚刚输入的数字了。