java_03_标识符、数据类型

一、标识符(变量,类的命名规则)

标识符的作用:给变量,类命名的。

标识符的规则(定义变量名的规范):

5945886-bd2c8adea73f46e5.png
5945886-c7a82b6ab15c667c.png

二、数据类型

问:为什么说java是一种强数据类型的语言?

答:因为java的应用平台比较多,有的平台对存储空间不做要求,有的要做要求(类似于sql一样),所以需要定义不同的数据类型,以达到节省空间的目的。

java有这几种数据类型。

5945886-0835513870a950f2.png

先从基本数据类型看起。

2.1、数值型

2.1.1、整数型

byte类型占用1个字节,所以表数范围是-128--127
short类型占用两个字节,所以表数范围是正负三万左右
int类型占用4个字节,表数在21亿左右
long类型8字节

还有一个记录很大很大的数的类 big decimal。

定义整数类型常量的时候,右边的整数默认为int类型。定义的时候,需要注意一下,如果是大数,超过范围需要用long类型。如下:

5945886-02c37fb46c3b9904.png

如果数据大小不超过21亿左右,就会自动完成转型。

比如short a = 125
虽然此时125是int类型的,但是完成自动转型,所以,定义以后,a就自动成为了short类型的125了。

但是偶尔也会有些问题,比如long中,比如byte中右边数字过大为200,long中没加L,只是写123465487113,就会报告说是int过大了。

因此,需要把右边的数字也声明为long类型才行,在后面加个L。

2.1.2、浮点型

float--4个字节
double--8个字节

5945886-7091a3f1b0a4fafc.png

类似整数常量默认是int型
浮点数常量默认是double型

所以,如果直接用

float f = 6.26

可能会提示精度丢失(表数范围减小,下一节会讲)。
因此,需要在6.26后面加个F,说明6.26也是float类型的。

float f = 6.26F
类似于前面的整数型加上L

问:都是4个字节,怎么int表数范围(-231~231)要比float的表数范围小这么多?

5945886-b5f0dd8131e83bb7.png

答:int型能精确的表示所有的整型数,而float存在舍入去查(内部的存储机制也不一样)。同样double也是。

5945886-577ac7afa51aadcc.png

如上,因为都有误差,所以两个数可能是不相等的。以后在使用浮点数的时候,尽量避免使用比较操作。

对于,银行系统一类的,必须要精确地表示小数的时候,可以使用BigDecimal类。

2.2、字符型数据

java内部采用的是unicode字符集(通用字符集)

单引号用来表示字符常量。

5945886-a4597b1e43fc5fb5.png

对于上图中“char在...之间,运算时可以直接当整数来看”的解释:

5945886-17ad59a77c07ce19.png

‘a’在ASCII中的编号是97,上面代码就会直接输出int 型数99。

问:char可以转成直接转成整数,那么能不能把一个整数直接转成char型呢?

5945886-a26c68581477bcd3.png

答:不能,会报错(可能损失精度)。

如果确定要转换,那么需要强制转型,如下。

5945886-ba159d5aece1c518.png

这时候才不会报错。

再扩展一下(循环打印a-z,同样用到强制转型):

5945886-d1b41d24363af1cb.png

注意java中的字符串是定义成了String类的。‘A’ (字符型常量)与 “A”(字符串)是不一样的。

3、boollean类型

占用1位,而不是一个字节。通常用来做逻辑判断。
只有两个值:“true” or “false”

一般建议,不用等号,直接用if b 即可。(防止多余的等号或者漏掉等号,比较麻烦。)

5945886-0ffd4c4bdaa2fd08.png

猜你喜欢

转载自blog.csdn.net/weixin_33928137/article/details/87412547