3.4 数据类型
计算机存储设备的最小信息单元叫“位(bit)”,又称为“比特位”,通常用小写的字母“b”表示。而计算机中最小的存储单元叫“字节(byte)”,通常用大写字母“B”表示,字节是由连续的8个位组成。
除了字节外还有一些常用的存储单位,其换算单位如下:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.5 Java中的数据类型
Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们的数据大小也是不一样的。
基本数据类型分为4类8种
3.5.1 数据类型的内存占用和取值范围
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
整数类型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E -45 正数:4.9000000E-324到1.797693E+308 |
double | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324到1.797693E+308 | |
字符类型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1 | true、false |
说明:
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方
在java中整数默认是int类型,浮点数默认是double类型
3.6 变量
3.6.1 变量概述
变量:是内存中的一小块区域,其值可以在一定范围内变化
3.6.2 变量的定义格式
格式1:数据类型 变量名 = 初始值;
例如:
//定义int类型的变量,为其赋值为10,并打印输出。
int z = 10;
System.out.println(z);
格式2:先声明,后赋值
数据类型 变量名;
变量名 = 初始值;;
int a ;
int b ;
a = 30;
b = 40;
System.out.println(a+b);
3.6.3 定义变量的注意事项:
-
在同一对花括号中,变量名不能重复;
-
变量在使用之前,必须初始化
-
定义long类型的变量时,需要在整数的后面加L(我们直接写的整数,默认是int型)
例如:
//定义long类型的变量 long l = 100000000000000L; //为了防止数字过大,所以在后面加L System.out.println(l);
-
定义float类型的变量时,需要在小数的后面加F(因为浮点数的默认类型是double,double的取值范围是大于float的,类型不兼容)
例如:
//定义float类型的变量 float p = 13.456f; //为了防止类型不兼容,在后面加f System.out.println(p);
3.7 标识符
标识符:就是给类,方法,变量等起名字的符号
3.7.1 标识符的定义规则
- 由数字,字母,下划线_ 和美元符号$ 组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
3.7.2 常见的命令约定
-
小驼峰命名法(方法,变量)
约定1:标识符是一个单词的时候,首字母小写
范例1:name
约定2:标识符由两个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
范例2:firstName
-
大驼峰命名法(类)
约定1:标识符是一个单词的时候,首字母大写
范例1:Student
约定2:标识符由多个单词组成的时候,每个单词的首字母大写
范例:GoodStudent
3.8 转换类型
在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。
3.8.1 自动类型转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量,这种方式是自动的,直接书写即可。
例如:
//自动类型转换
double d = 10;
System.out.println(d);//结果:10.0
3.8.2 强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
格式:目标数据类型变量名=(目标数据类型)值或者变量;
例如:
//强制类型转换
int k =(int)88.88;
System.out.println(k);//结果:88(小数位直接舍弃)
下图表示数据范围从小到大:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I1n9YkV6-1582552814447)(F:\Java学习资料\学习截图\图片3.png)]
说明:
-
char类型的数据转换为int类型是按照码表中对应的int值进行计算的,比如在ASCII表中,'a’对应97。
int a = 'a'; System.out.println(a); // 将输出97
-
整数默认是int类型,byte,short和char类型数据参与运算均会自动转换为int类型。
byte a = 10; byte b = 20; byte c = a + b;//错误提示:不兼容的类型: 从int转换到byte可能会有损失 //修改 byte c = (byte)(a + b); //或者 int c = a + b; System.out.println(c);
-
布尔类型不能与其他基本数据类型相互转换。