文章目录
一 - 前言
介绍:大家好啊,我是不良战士。
社区:(欢迎大家加入)日常打卡、学习交流、资源共享的知识星球。
更新时间:每周两更。
本文适合于刚入门的小伙伴,以及基础不是很扎实的小伙伴。
我会很细致的对基本类型的讲解,欢迎小伙伴多多支持。
话不多说,进入正题吧!
二 - 基本控制结构
在Java中,共有8大基本数据类型,其中包括(括号中代表它占用多少个字节):
- 整数类型:byte(1),short(2),int(4),long(8)
- 小数类型:float(4),double(8)
- 字符类型:char(2)
- 布尔类型:boolean(1)
除了这8大基本数据类型及它们的数组形式,其他数据都是对象类型。
字节是什么意思?计算机中使用0和1存储数据,每个0或1代表一个bit,每8个bit就能代表一个字节。
有学过C的小伙伴应该会发现,Java中的char类型是占用2个字节,这个等详解String类型时会将到。
1 - 数据存储规则
当然,一堆0和1不能代表各个数据类型,所以要有每个数据存储的规则。
- 比如整数类型使用第一位bit代表正负数,其他位代表着它的数据大小,相当于2进制与10进制的转换。
- 字符类型的存储规则同整数类型,它无需正负,所以它的第一位也是存放数据,相当于无符号整型,但是Java中不支持定义无符号整型。
- 小数型的规则相对复杂,大致就是有一位bit控制符号,有多位bit控制数据大小,还有多位控制小数点的位置,由于小数点像是浮动的,所以我们也叫它为浮点类型。
只凭三言两语无法说的太细节,等我们讲解到计算机组成原理时,会作更详细的说明。
但其实它们的真实占用字节与之在JVM的哪块内存区域有关的,我们之后也会详细讲解。
布尔类型是代表真假的类型,它在Java中只有两个值,true和false,代表着真与假。
而如果是学过C的小伙伴都知道,C中0代表假、非0代表真,并且C中的布尔类型也是可以进行操作的。
但是Java为了让操作更加规范,将真假封装成了这两个常量。
2 - 创建变量
格式: 变量类型 变量名 = 常量; 这是在创建的同时初始化,也可以只创建一个变量,如 变量类型 变量名;
变量名命名规则如下:
1.必须以字母、下划线、或者美元符$开头; ①以美元符$ 开头命名的变量虽然能够编译通过但是不建议使用; ②中文也可以作为命名开头且编译也能通过,但是不建议使用。 2.除开头外后面的部分可以有字母、下划线、美元符$以及数字组成; 3.虽然变量名不限制长度,但能表达清楚命名的含义即可; 4.变量名不可以和java的关键字冲突;
3 - 常量范围
byte,1字节,8位,最大存储数据量是255,存放的数据范围是-128~127之间。 short,2字节,16位,最大数据存储量是65536,数据范围是-32768~32767之间。 int,4字节,32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。 long,8字节,64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。 float,4字节,32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。 double,8字节,64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。 char,2字节,16位,存储Unicode码,用单引号赋值。 boolean,只有true和false两个取值
由于long比int型的字节数更多,存储的数据更大,因此才会有特殊标记,否则如果数据量过大会出现截断。(在计算机组成原理解释)
float同理,因为小数是用有限个bit组成,因此不能确保绝对精确,如果直接将double类型赋值给double会导致失去精度,因此也要有特殊标记。
有了命名规则和常量规则就可以符合规范的创建对象了!
4 - 操作符
操作符还算多,这里只做汇总,建议看这篇粗略了解一下:Java操作符。
算数运算符:+,-,*,/,%,++,- -,=,+=,-=, *=,/=,%= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&,|,!,^,&&,|| 位运算符:&,|,~,^,>>,<<,>>>,>>=,<<= 三元运算符:?:
位运算符暂时只作为了解,当需要写出高效算法时可以使用它提高效率,以后我也会讲解一些使用位运算进行的算法,但比较晦涩难懂,暂时不做过多介绍。
5 - 部分注意事项
1. 比如byte,short,char 类型混合运算时,Java会先将其转换成 int 类型再做运算,因此运算结果也是int类型,所以我们需要注意类型转换。如:
2. float、double都是有限的bit存储小数型数据,因此很多时候,它的操作结果并不尽如人意,比如:
3. 若混合运算中有浮点型,都会先转换成double再运算。
4. 注意一点,整数与整数进行除法运算,不会自动转换成浮点型,因此我们一开始就让一个变量转换成浮点型,才可以算出真正的结果。
三 - 结尾
感谢你看到这里,如果感觉内容不错的话请点赞支持一下!
如果小伙伴对我的讲解有疑问,欢迎评论区讨论。