概述
java语言基础
5.数据类型
(1)数据类型的作用:
程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间大小不同。
数据类型的作用是指导JVM在运行程序的时候给该数据分配多大的内存空间。
(2)java中的数据类型包括两种:
- 基本数据类型
- 引用数据类型 【类,接口,数组……】
(3)基本数据类型:
- 基本数据类型包括四大类八小种
第一类:整数型
byte,short,int,long
第二类:浮点型
float,double
第三类:布尔型
boolean
第四类:字符型
char
(4)字符串“abc”不属于基本数据类型,属于“引用数据类型”,字符属于基本数据类型:
- 字符串使用双引号 “abc"
- 字符使用单引号 ‘a’
(5)基本数据类型各自占用空间大小
基本数据类型 | 占用空间大小【单位:字节】 |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
boolean | 1 |
char | 2 |
(6)计算机在任何情况下都只能识别二进制。例如:只认识1000111000111……
【现代的计算机底层采用交流电的方式,接通和断开就两种状态,计算机只识别1和0,其它不认识】
(7)二进制:
- 数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。
- 十进制:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ……
- 二进制:0 1 10 11 100 110……
0 1 2 3 4 6 ……
(8)字节byte:
1 byte = 8 bit 【1个字节 = 8个比特位】1个比特位表示一个二进制位:1/0
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 TB = 1024 * 1024 * 1024 * 1024 * 8
(9)整数型当中的byte类型,占用1个字节,所以byte类型的数据占用8个比特位。
那么byte类型的取值范围:
- 关于java中的数字类型,数字都是有正负之分的,所以在数字的二进制当中有一个二进制位被称为“符号位”。并且这个“符号位”在所有二进制位的最左边,0表示正数,1表示负数。
- bety类型最大值:01111111【10000000(二进制) - 1】
- byte类型的最大值:2的7次方 - 1 ,结果是:127
- byte类型的最小值:-128【具体的怎么用二进制表示,这个和原码、反码、补码有关】
- byte的取值范围:【-128~127】
- byte类型可以表示256个不同的数字【256个不同的二进制】
(10)二进制和十进制之间的转换规则:
- 二进制转换成十进制
- 十进制转换成二进制
(11)计算机只认识二进制,那么计算机是怎么表示现实世界当中的文字的?
- 八种基本数据类型当中,byte,short,int,long,float,double,boolean这七种数据类型计算机在表示的时候比较容易,因为底层都是数字,十进制的数字和二进制之间存在一种固定的转换规则。
- 但是八种基本数据类型当中char类型表示的是现实世界中的文字,文字和计算机二进制之间“默认”情况下是不存在任何转换关系的。
- 为了让计算机可以表示现实世界当中的文字,我们需要进行人为的干涉,需要人负责提前制定好“文字”和“二进制”之间的对照关系。这种对照转换关系被称为:字符编码。
- 计算机最初只支持英文,最先出现的字符编码是:ASCII码
‘a’——97【01100001】
‘A’——65
‘0’——48
‘a’——(解码)——01100001
01100001——按照ASCII编码 ——‘a’
* 编码和解码的时候采用同一套字典/对照表,不会出现乱码。
* 编码和解码的时候采用不是同一套字典/对照表,会出现乱码问题。
(12)随着计算机的发展:
后来出现了一种编码方式,是国际化标准组织ISO制定的,这种编码方式支持西欧语言, 向上兼容ASCII码【采用一个字节编码】,仍然不支持中文,这种编码方式是:ISO-8858-1,又被称为latin-1。
(13)随着计算机向亚洲方向发展:
计算机开始支持中文、日文、韩文等国家文字,其中支持简体中文的编码方式:GB2312<GBK<GB18030
(14)支持繁体中文:
大五码<big5>
(15)后来出现了一种编码方式统一了全球所有的文字,容量较大,这种编码方式叫做:unicode编码
unicode编码方式有多种具体的实现:
-
UTF-8
-
UTF-16
-
UTF-32
-
……
(16)java语言源代码采用的是 unicode编码方式,所有“标识符”可以用中文。
【现在在实际开发中,一般使用UTF-8编码方式较多。“统一编码方式”】
)
(17)八种基本数据类型的取值范围
类型 | 取值范围 |
---|---|
byte | 【-128~127】 |
short | 【-32768~32768】 |
int | 【-2147483648~2147483647】 |
long | |
float | |
double | 【true,false】 |
char | 【0~65535】 |
【注意】:short和char所表示的种类总数是一致的,只不过char可以表示更大的正整数。因为char没有负数。
(18)关于八种基本数据类型的默认值
数据类型 | 默认值 |
---|---|
byte,short,int,long | 0 |
float,double | 0.0 |
boolean | false【在c语言中,true是1,false是0】 |
char | u0000 |
【记住】:八种基本数据类型的默认值是一切向0看齐。
/*
关于八种基本数据类型的默认值
*/
public class Var
{
//这里的static必须加,
static int k = 1000;
//变量还是遵守这个语法,必须先声明,再赋值,才能访问。
//成员变量没有手动赋值系统会默认赋值【局部变量不会】
static int f;//成员变量
public static void main(String[] args){
/*
int i;//局部变量
System.out.println(i);
*/
System.out.println(k);
System.out.println(f);//0
}
}
最后
以上就是动听蓝天为你收集整理的java语言数据类型java语言基础5.数据类型的全部内容,希望文章能够帮你解决java语言数据类型java语言基础5.数据类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复