java学习(4)

java学习(4)

进制运算

进制: 指进位制,是人们规定的一种进位方式,表示某一个位置上的数,运算时是逢X进一位,
十进制是逢十进一,二进制是逢二进一,八进制是逢八进一

常见进制,二进制,八进制,十进制,十六进制

在java当中不同进制的书写格式

  • 十进制 JAVA中默认为十进制
  • 二进制 数值面前要加0b开头
  • 八进制 数值前面要以0开头
  • 十六进制要以0x开头

原码反码补码

计算机中的数据,都是以二进制补码的形式在运算,而补码是通过反码和原码推算出来的

public class DemoScanner {
    public static void main(String[] args) {
//        byte 的取值范围为  -128~127
        byte b = (byte)180;
        System.out.println(b); // -76
    }

}

位运算

        System.out.println(6&2);// 2
        // 00000110  6
        // 00000010  2
        // &&&&&&&&
        // 00000010  2
        System.out.println(6|2);// 6
        // 00000110  6
        // 00000010  2
        // ||||||||
        // 00000110  6

        System.out.println(6^2); // 4
        // 00000110  6
        // 00000010  2
        // ^^^^^^^
        // 00000100  4
        System.out.println(~2); // -3
  • 与操作 & 遇0则0
  • 或操作 | 遇1则1
  • 亦或操作 ^ 相同则取,不同则取反
  • 取反操作 ~

位移运算

  • 有符号左移运算 << 左边符号丢弃,右边补0 乘以2
  • 有符号右移运算 >> 右边符号丢弃,左边补0 除以2
  • 无符号右移运算 >>> 无论符号位是0还是1 都补0
 System.out.println(2<<3); // 2*2*2*2  // 16
 System.out.println(16>>3); // 16/2/2/2 // 2

二维数组

二维数组也是一种容器,不同于一位数组,该容器存储的都是一维数组容器

数据类型[][] 变量名 = new 数据类型[m][n]
int[][] arr = new int[3][3];
// 0 0 0
// 0 0 0
// 0 0 0
posted @ 2020-11-15 12:32  hzjsea  阅读(84)  评论(0编辑  收藏  举报