Java8种基本数据类型
8种基本数据类型
第一类:逻辑型(boolean)
boolean类型只存在true(真),false(假)两种形式
例: boolean a = true; boolean b = false;
第二类:文本型(char)
字符常量通常用单引号括起来(可以是中文)java采用unicode编码,每个字符占两个字节,
例: char a=‘a’;char b=‘你’;
第三类:整数型(byte,short,int,long)
byte: 8 位,用于表示最小数据单位,如文件中数据,-128~127
short: 16 位,很少用 从-32768到32767
int: 32 位、最常用,-231-1~231 (21 亿) 从-2147483648,到2147483647共10位
long: 64 位、次常用 从-9223372036854775808到9223372036854775807共19位
第四类:浮点型(float,double)
float: 32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数
double: 64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾
注意: 在数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的,应该a-0.1==0;如果a是0.1,则即使有误差 a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
各类型中的注意点
整数在Java中默认是int类型,浮点数默认是double类型
定义long类型数据的时候,要加L或l,建议大写的L
定义float类型的数据的时候,要加F或f,建议大写的F
特别说明(String)
String不是基本类型而是引用类型。
类型转换
自动转换:byte–>short–>int–>long–>float–>double
**注意:**小可转大,大转小会失去精度
String转换为int或double
int 或 Integer num = Integer.parseInt(String str);
double 或 Double num = Double.parseDouble(String str);
int转换为String
int a = 9;
String s = String.valueOf(a);
自动类型转换
byte short char --> int --> long --> float --> double
由小到大
例:
byte a = 20;
int b = a; // 这里就会自动将a转换为int类型
强制类型转换
// 注意:强制类型转换有可能损失精度
由大到小
例:
int a = 200;
byte b = (byte)a; // 这样就会损失精度,因为byte最大127

浙公网安备 33010602011771号