计算机存储数据都是010101这样用二进制存储的,这与我们的生活认知是不一样的,所以我们会把数据分成不同的数据类型,来方便我们进行编程,在底层由高级语言进行编码成二进制来进行与计算机交互。我们常说的字节是一种数据计量单位,1字节=8个计算机位。
计算机编码集
随着计算机的普及与发展,各个国家对自己的语言进行编码,也是就有了许多的编码集。
一般我们比较常见的有:ASCII(美国信息交换标准代码)
GB2312:由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。
GBK:汉字内码扩展规范
UTF-8:8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码
ISO-8859-1:ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。此字符集支持部分于欧洲使用的语言
Unicode:(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。1990年开始研发,1994年正式公布。
Java的数据类型分两大块:
首先讲讲基本数据类型吧。
整数类型
[1]十进制
[2]二进制,以0b开头。e.g: 0b10=>21=2
[3] 八进制.以0开始。e.g: 015=> 1x81+5x80 = 15
[4] 十六进制.以0x开始 e.g:0x19= 1x161+9x160 = 29
整型根据其内存长度分为byte、short、int、long类型。
byte 占1个字节
表示的最大的数 1111 1111 => 255
0-255 表示256种状态。因为考虑负数对半分的-128-1;0127 所以byte取值范围为[-128,127]。
short 占2个字节
表示的最大的数 1111 1111 1111 1111 => 216
0-216 表示216+1种状态。因为考虑负数对半分的-215-1;0215-1 所以short取值范围为[-215,215-1]。
其余两种同样道理,有种方法很好记,记住该类型占几个字节,比如n个,那么其取值范围就是[-2的n*8-1次方,2的n*8-1次方再减一]
要注意的是long类型的后面记得加上L以示区分,尽量不要用小写容易和数字1混淆。
浮点类型
浮点型其实就是小数类型,浮点型根据其内存长度分为float、double类型。
float 类型也称为单精度,能精确到6-7位有效数字。第6位一定可以精确到,第7位可能可以精确到。
double 类型也称为双精度,能精确15-16位有效数字。第15位一定可以精确到,第16位可能可以精确到。
浮点数值的默认类型为double类型。想将其变为float类型,就需要在其后面加上F/f。
字符类型
单个字符通过单引号(‘’)引起来的称为字符类型(char)。而由双引号(“”)引起来的0个或者以上内容称为字符串(String).注意其二者的区别哦
e.g:‘A’、‘中’
注意:char类型也可以表示的是unicode编码表中的字符存储转义字符。占****两个字节。
布尔类型
这是一种用于逻辑判断的类型,结果只有两个:true/false,称为布尔值,用boolean表示。
boolean占用一个二进制位。(注意不是字节)
以上就是八大基本类型了。
因为引用类型:数组,类,接口的用法不太一样后面单独再写吧
变量
既然说了数据的基本类型,当然要提提变量也就是标识符的命名规则了。
其实变量本质上是一块内存空间。之所以叫变量是因为其在程序中运行时存储的值可能会变化,故称变量。它也有一个体面的名字叫标识符,标记内存空间嘛。
声明变量:数据类型 变量名 [= 初始值];
e.g: int apple=10;
变量(标识符)命名规则如下:
[1] 变量名可由字母,数字,_,$构成。
[2] 变量名不能以数字开头
[3] 不能用java的关键字,所谓关键字就是像public,int这些系统已经定义好含义的词
规范:
[1] 驼峰命名法(首个单词都小写,后续具有单个意义的单词首字符大写)e.g:userName
[2] 尽量做到见名知其意,因为有时候程序收要给别人看的,而且自己检查修改程序是也方便。
[3] 类名:首字母大写和驼峰原则 e.g: Man
[4] 常量:全大写 e.g: MAN
常量
常量在程序运行过程中值不能发生变化,所以常量只能在开始定义时初始化一次。用final关键字修饰。
e.g: public final int AGE=18;
变量的分类
主要有两种一种是局部变量,另一种是成员变量也叫实例变量。
局部变量:在方法或者语句块({})中声明的变量称为局部变量,局部变量必须先声明后赋值再使用。
实例变量:在方法外,类的内部声明的变量称为实例变量。实例变量可赋初始值,也可以不赋初始值。如果不自行初始化,JVM会自动初始化成该类型的默认初始值。
e.g:
数值型变量初始化成0或0.0
字符型变量的初始化值是16位的0 ,也可以写成‘\u0000’
布尔型默认是false