基本数据类型

数值型:byte、short、int、long
浮点型:float、double
字符型:char
布尔型:boolean

引用数据类型

类class、接口interface、数组array

基本数据类型的运算规则

  1. 自动类型转换:不包含boolean类型
    byte、short、char–> int --> long --> --> float --> double
    当byte、char、short这三种数据类型做运算时,结果是int型
    结果: 当不同的数据类型做运算时,表示数的范围小的向表示范围大的自动转换。
  2. 强制类型转换:自动类型转换的逆运算
    1)使用强转符:()
    2)强制类型转换,可能导致精度损失
  3. 注意
    当数据是数值型时,若在int型的精度内,默认数据为int型
    当数据是浮点型时,若在double型的精度内,默认数据为double型

    byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
    short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
    int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
    long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
    float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节
    double 1.797693e+308~ 4.9000000e-324 占用8个字节
    在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加。
    通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
    浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。

String数据类型

String是引用数据类型类(class)的具体实例。
String的初始化使用一对"":String str = "";
String与char的区别:
①:char的初始化使用一对'';char ch = ' ';
②:char的赋值只能是一个字符,且不能为空,即最多和最少都是一个字符;
③:String能和8种基本数据类型进行运算,是连接运算,结果是String类型:
举例:String str = ”Hello“;	int a = 2;	char ch = '!';
		System,put,println(str+a+ch);//结果是Hello2!
		System,put,println(str+(a+ch));//结果是Hello35
		System,put,println(a+ch+str);//结果是35Hello
		System,put,println(a+str+ch);//结果是2Hello!

变量的进制转换

对于整数,有四种表示形式

Java 根据不同参数调用不同版本 java 不同数据类型运算_eclipse

十进制转二进制:除以二取余数的逆序
二进制转十进制:位数上的数乘以2的幂数,再相加求和
二进制转八进制:把二进制数写成32位,每3位单独划分计算
二进制转十六进制:把二进制数写成32位,每4位单独划分计算

Java 根据不同参数调用不同版本 java 不同数据类型运算_eclipse_02

二进制的使用

计算机底层的存储方式:所有数字在计算机底层都以**二进制**形式存在
二进制数据的存储方式:所有的数值,不管正负,底层都以补码的方式存储
二进制的第一位为符号位:0代表正数,1代表负数
正数:原码、反码、补码:三码的表示相同
负数:
	①原码:直接将一个数值换成二进制数,最高位是符号位,为1;
	②反码:对原码对位取反,符号位不变,仍表示1;
	③补码:负数的反码+1