* JAVA中的二进制在跨平台中用的比较多:如文件读写、数据通信等
* 计算机为什么要用二进制:计算简单,简化了计算机结构
* 二进制的位运算: (二进制位运算优点:特定情况下,计算方便,速度快,支持面广)
& 与运算:两位全为1,结果才为1 特殊用法:清零,去一个数中指定位
| 或运算:只要有一个为1,结果就为1 特殊用法:对一个数中的某些位置一
^ 亦或运算:两个数相同则结果为0,两个数不同则结果为1
<< 左移:将一个运算对象的各二进制位全部向左移若干位(左边的二进制位丢弃,右边的补零)
若左移时舍弃的位不包含1,则每左移一位,相当于该数乘以2
>> 右移:将一个运算对象的各二进制位全部向右移若干位(正数左补0,负数左补1,右边的数丢弃)
操作数每右移一位,相当于该数除以2
>>> 无符号右移:将一个运算对象的各二进制位全部向右移若干位(左边补零,右边的数丢弃)
原码:将一个整数按照绝对值大小转换成的二进制数成为原码。
反码:将一个二进制数按位取反,所得的新二进制数称为原二进制数的反码
补码:反码+1即得到补码。
* JDK内置的进制转换
Integer.toBinaryString(int i); //将十进制 i 转换成二进制
Integer.toHexString(int i); //将十进制 i 转换成十六进制
Integer.toOctalString(int i); //将十进制 i 转换成八进制
//转换成十进制的操作
Integer.valueOf("111110000011001", 2);
Integer.valueOf("567", 8);
Integer.valueOf("23AF", 16);
* 基本类型有以下四种:int数据类型有:byte(8bit,-128~127)
short(16bit)
int(32bit)
long(64bit)
float数据类型:单精度(32bit float)
双精度 (64bit double)
boolean类型的变量的取值:true false
char数据类型:unicode字符,16位
对应的类类型:Integer、Double、Boolean、Float、Byte、Short、Long
* 将字符串转换成字节数组: String str;
Byte[] bytes= str.getBytes();
Byte[] bytes= str.getBytes("编码格式"); //指定编码格式的转换
字节数组转换成字符串 : String str = new String(bytes);
String str = new String(bytes, "编码格式"); //指定编码格式的转换