Java中8种数据类型
字符串类型
String() 属于应用数据类型。
string s="abc";//字符串
string str="a";//仍是字符串
//羊肉串吃剩最后的一块肉还是羊肉串
数据类型转换
小数据类型==>大数据类型 自动转换
大数据类型==>小数据类型 强制转换(只取大数据类的低几位,不管可能丢失的数据)
强制类型转换的格式
小数据类型 变量名 = (小数据类型) 大数据类型
int 1 = 128;
byte b = (byte) i; //byte 最多只能存127
System.out.println(b); //输出-128
(回去贴图 强制转换的过程)
编译可能报错: 可能丢失精度
在计算机中,
- 如果一个二进制数据最高位是1, 那么该数据一定是负数。负数在计算机中存储的是补码。
- 如果一个二进制数据最高位是0,那么该数据一定是正数。
int i=10;
System.out.println(Integer.toBinaryString(-7)); //Sun公司提供的可以查看数据的二进制形式的功能
//output: 11111111111111111111111111111001
注: Integer.toBinaryString(); //Sun公司提供的可以查看数据的二进制形式的功能
负数的存储过程
- 先取负数的绝对值,求出该绝对值的二进制形式(原码)。
- 原码取反的到反码。
- 反码+1得到补码。
如何通过补码得到真实的数据(负数)
- 补码-1
- 取反
- 在数据前面加上负号。
(回去贴图:负数的存储过程)
数据类型转换需要注意的细节
- 凡是byte、short、char 数据类型在运算的时候都会自动转换成 int 类型的数据再运算。
注: 字符 'a' 在计算机里对应的 int 类型数字是97System.out.println('a'+1); //output: 98
- 两个不同类型的数据的运算,结果取决于大的数据类型。
byte b = 10;
System.out.println(b); //Output: 10