目录
JAVA入门级教学之(数据类型)
1、数据类型的作用是什么?
2、java中的数据类型包括两种:
3、关于基本数据类型:
4、注意:字符串"abc"不属于基本数据类型,属于【引用基本类型】,字符属于基本数据类型
5、八种数据类型各自占用的空间大小是多少?
6、计算机在任何情况都只能识别二进制
7、什么是二进制?
8、字节【byte】:
9、整数型当中的byte类型,占用1个字节,所以byte类型的数据占用8个比特位。那么byte类型的取值范围是什么?
10、二进制和十进制之间的转换规则:
11、计算机只认识二进制,那么计算机是怎么表示现实世界中的文字呢?
到底什么是编码?
乱码的根本原因:
JAVA入门级教学之(数据类型)
1、数据类型的作用是什么?
程序中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间是不同的
数据类型的作用:是指导JVM在运行程序的时候给该数据分配多大的内存空间
2、java中的数据类型包括两种:
2.1基本数据类型
2.2引用数据类型【后面讲】
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、计算机在任何情况都只能识别二进制
例如:只认识100101010.....
现代计算机底层采用交流电的方式,接通和断开就两种状态,计算机只识别1或0,其它不认识
7、什么是二进制?
*数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。
例如:十进制
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20....
二进制
0 1 10 11 100 101 110 111 1000 1001....
分别代表:
0 1 2 3 4 5 6 7 8 9
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 bit
9、整数型当中的byte类型,占用1个字节,所以byte类型的数据占用8个比特位。那么byte类型的取值范围是什么?
* 关于java中的数据类型,数字都是有正负之分的,所以在数字的二进制中有一个二进制位被称为"符号位"。
并且这个"符号位"在所有二进制位的最左边,其中【0表示正数,1表示负数】
byte类型的最大值:01111111
【10000000(二进制) - 1】
即:2的7次方-1,结果是:128-1=127byte类型的最小值:-128【涉及到位运算,原码、反码、补码的运算】
* byte类型可以表示256个不同的数字【因为0-127包括0】【256个不同的二进制】
10、二进制和十进制之间的转换规则:
*二进制转换为十进制:
例如:1001-->2^0+2^3=9
*十进制转换为二进制:
例如:33-->就是32+1-->就是用33整除2,最后再逆序数数字排序就行
11、计算机只认识二进制,那么计算机是怎么表示现实世界中的文字呢?
前提引入:
八种基本数据类型中:byte、short、int、float、double、boolean这7种
数据类型计算机在表示的时候计较容易,因为底层都是数字,十进制的数字
和二进制数字之间存在一种固定的转换规则。但是八种数据类型中的char类型表示的是现实世界的文字,文字和计算机的
二进制之间默认情况下是不存在任何转换关系的。为了让计算机可以表示现实世界当中的文字,我们需要进行人为的干涉,
负责提前制定好"文字"和"二进制"之间的对照关系,这种对照关系被称为 字符编码
* 计算机最初只支持英文,最先出现的字符编码是:ASCII码【采用一个字节编码】
例如:'a'--> 97【01100001】
'A'--> 65
'0'--> 48
'a'-->(按照ASCII解码)-->01100001
0110001--->(按照ASCII编码)-->'a'
编码和解码的时候采用同一套字典/对照表,不会出现乱码
当解码和编码的时候采用的不是同一套对照表,会出现乱码问题
到底什么是编码?
就是人类规定的字典给计算机识别人类
乱码的根本原因:
是解码和编码的时候采用的不是同一套字典
* 随着计算机的发展,后来出现了一种编码方式,是国际化标准组织ISO制定的,
这种编码方式支持西欧语言,向上兼容ASCII码,仍然不支持中文。这种编码方式
是:ISO-8859-1,又被称为latin-1(拉丁-1)
* 随着计算机向亚洲发展,计算机开始支持中文、日文、韩文等国家文字,其中支持
简体中文的编码方式有:
GB2312<GBK<GB18030
* 支持繁体中文:大五码<big5>
* 后来出现了一种编码方式统一了全球所有文字,容量较大,这种编码方式叫做:
unicode编码:unicode编码方式有多种具体的实现:
— UTF-8【一般使用UTF-8编码方式】
— UTF-16
— UTF-32
* java语言采用的是哪一种编码方式呢?
java语言源代码采用的是unicode编码方式,所以"标识符"可以用"中文"
//class 学生/日文/中文...
{
}
//编译成功