变量
变量的介绍
1.变量是程序的基本组成单位,有三个基本要素(类型+名称+值)。
2.变量相当于内存中一个数据存储空间的表示,你可以把变量看作是一个房间的门牌号,通过门牌号可以找到房间,而通过变量名可以访问到变量值。
int a = 1; //把1赋给a
int b = 3; //把3赋给b
数据类型
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
浮点型
1.浮点数在机器中的存放形式:浮点数=符号位+指数位+尾数位。尾数部分可能丢失,造成精度损失(小数都是近似值)。
2.Java的浮点型常量默认为double,声明float常量后面要加’f’或’F’。通常情况下用double,比float更精确。
3.当我们对运算结果是小数的进行相等判断时,要小心
double num1 = 2.7;
double num2 = 8.1/3; //接近2.7的小数,非2.7
//如果要判断相等可以
if(Math.abs(num1-num2) < 0.0000001) {
}
字符型
1.字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符用字符串String。
2.字符型可以直接存放一个数字,默认输出时输出该数字表示的字符(Unicode码);要输出数字,在前面加(int)。
3.字符型只能用单引号,如果用双引号会报错,双引号是字符串。
4.char是可以进行运算的,相当于一个整数,因为它都对应Unicode码。
5.字符型本质:字符型存储到计算机中需要将字符对应的码值(整数)找出来,转为二进制再存储。
自动类型转换
1.当Java程序在进行赋值或运算时,精度小的类型自动转换为精度大的数据类型。byte、short不能自动转换为char。
int a = 'c'; //√
double d = 80; //√
2.当把具体数赋给byte时,先判断该数是否在byte范围(-128~127)内,如果是就可以赋。
3.byte、short、char三者可以计算,计算时首先转换为int类型。
强制类型转换
是自动类型转换的逆过程,使用时要加上强制转换符(),可能造成精度降低或溢出。
基本数据类型和String类型的转换
1.基本类型的值用双引号即可转为String类型。
2.通过基本类型的包装类调用parseXX方法即可将String类型转为基本数据类型。
int n1 = 100;
String s1 = n1+ "";
String s2 = "123";
int n2 = Integer.parseInt(s2);