5.有符号的数值表示法(原码、反码和补码)
①原码:最高位为符号位的整数,1为负数,其余位是数值位。
②反码:正数的反码与原码相同
负数的反码与原码,符号位相同,数值逐一取反。
③补码:正数的补码与原码相同
负数的补码是在原码的基础上+1。
计算机在操作数值时使用的都是补码。
6.变量
变量定义的格式:
数据类型 变量名 = 初始化值;
7.数据类型
1.数据类型的分类和注意事项
数据类型演示案例
概述:Java语言是一个强类型语言,针对每一种数据都定义了明确的数据类型。
分类:
1.基本数据类型
2.引用数据类型(后面讲)
基本数据类型:4类 8种
1.整数
byte 1字节
short 2字节
int 4字节
long 8字节
2.浮点数
float 4字节
double 8字节
3.字符
char 2字节
4.布尔
boolean true/false
注意:
1.默认参数类型
整数 int
浮点数 double
2.long类型数值要加后缀l或L都可以,建议使用L
float类型数值要加后缀F或f,建议使用F
2.数据类型的转换
①默认类型转换
概述:数据进行运算时,如果有太多的类型参与,则较小的数据类型
会向较大的数据类型进行转换
1.byte,short,char-int-long-float-double
2.byte,short,char相互不转换,参与运算首先要转换为int类型,然后回参与运算。
②强制类型转换
数据类型转换——强制类型转换
格式:
目标数据类型 变量名 = (目标数据类型)(被转换的数据)
面试题:
1.哪一句编译失败?
byte b1 = 3,b2 = 4, b;
b = b1 + b2;
b = 3+4;
答:b=b1+b2编译失败:byte类型参与运算,首先它会自动转换为int,参与运算后所得的结果是int类型,将int类型数据赋值给byte变量,会存在丢失精度的问题,会报错。
b=3+4:变量在参与运算时,计算机会先进行计算,计算完成之后根据结果来判断,是否在变量的取值范围内。
2.byte b = 130;如果想赋值成功,需要怎样操作。
byte b = (byte)130;
计算机运算时采用二进制计算的:
①得到130的二进制数
00000000 00000000 00000000 10000010
②计算机运算,都是采用补码进行。而正数的原反补相同。
100000010这是补码,将补码转换为原码
补码 1 0000010
反码 1 0000001
原码 1 1111110
最后所的原码11111110,转换为十进制-126