1、数据类型
- 基本数据类型(4类8种)
- 整数型
- byte(字节型)
- 1字节
- 取值范围:[-128~127]
-
二进制位最左边为符号位为0时,表示正即01111111为byte最大 为127;而负数为-128;这里有原码、反码、补码的知识
-
short(短整型):2字节 -
int(整型):4字节 -
long(长整型):8字节
-
浮点型:浮点型数据实际上在内存中大部分情况下都是存储了数据的近似值,所以一般判断两个浮点型数据是否相等的操作很少。
-
float(单精度):4字节 -
double(双精度):8字节
-
字符型:char
-
一个汉字刚好两个字节 -
原理上char和short字节数一样,能取的范围一样,但char表示文字,没有负数的说法
-
布尔型:boolean
-
变量值只能选择true或false -
true和false其实在计算机底层是使用1和0来表示的。
-
引用数据类型:Java中的字符串属于引用数据类型,不属于基本数据类型的范畴。
2、一些概念的介绍
- ?字节
- 1个字节是8个比特位
- 1个比特位就是一个1或0,或者说1个比特位就是一个二进制位
- 1个字节是由8个1和0组成的二进制数字串。
- 二进制位的符号:在二进制位当中最左边的二进制位是符号位,0表示正数,1表示负数
- 数据占用字节表
3、字符编码(字符集):前面的数字、布尔都可以用二进制表示,字符编码其实就是为了用二进制位表示汉字设计的,即使计算机可以表示文字
- ASCII码:(American Standard Code for Information Interchange:美国信息交换标准代码),基于拉丁字母的一套电脑编码系统,是现今最通用的信息交换标准,并等同于国际标准ISO/IEC 646。
- 采用一个字节编码,英文足够用,但汉字远远不够
- 常见的ASCII码
- 'a'对应97
- 'b'对应98
- 'A'对应65
- 'B'对应66
- '0'字符对应48
- '1'字符对应49
- 支持简体中文的编码方式:支持简体中文的编码方式包括GB2312、GBK、GB18030
- Unicode编码
- 这种编码方式统一了全球所有国家的文字,具体的实现包括:UTF-8,UTF-16,UTF-32等。
- Java采用unicode编码
- 大部分开发团队都用UTF-8
4、解码与编码
- 'a'是97,97对应的二进制是01100001
- 从'a'到二进制01100001的转换过程称为编码
- 从二进制01100001到'a'的转换过程称为解码
- 编码和解码要采用同一种字符编码方式(要采用同一个对照表),不然会出现乱码。这也是乱码出现的本质原因。
5、数据类型详解
- 字符型char
- 单引号
- 只能一个字符
- 不能char 变量名=双引号
- 双引号是String,String类型就是Java中的字符串类型,但大家要知道字符串不属于基本数据类型,而是引用数据类型。所以类型不兼容
|