java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java数据类型

一篇文章带你入门Java数据类型

作者:编程界明世隐

下面小编就为大家带来一篇Java的基本数据类型)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

引言

♀ 小AD:明哥,昨天气死我了,明哥要帮我出气。
♂ 明世隐:咋了,有谁惹到你了。
♀ 小AD:昨天辅助喷我小鲁班菜,我反手就对喷,然后竟然丢脸了!
♂ 明世隐:这个我是不信的,论喷的功力,你貌似不在明哥之下,没那么容易就败北的。
♀ 小AD:明明就丢脸了吗
♂ 明世隐:你这一喷20年的功力,这些小学生顶得住?
♀ 小AD:哼。。那我不说了!
♂ 明世隐:好了好了,说说看。
♀ 小AD:是小学生喷不过我,但是找我solo,我竟然没打过,脸丢大了。
♂ 明世隐:我就说,在喷上应该没问题,怎么就solo不过了,不太应该啊。
♀ 小AD:我觉得就奇怪哈,都选的小鲁班,都学了1技能,装备也一样,就是打不过。
♂ 明世隐:你是不是没有配置铭文。
♀ 小AD:啥是铭文?
♂ 明世隐:挖槽,你这都怎么过来的,怎么上的黄金,铭文都没有啊,我的老天!
♀ 小AD:呜呜。。,那怎么弄?明哥教我
♂ 明世隐:好的
♀ 小AD:但是呢?
♂ 明世隐:对真乖!先把今天的Java学习了。
♀ 小AD:没问题,我一定好好学!
♂ 明世隐:今天学数据类型,学完你就会配置铭文了。到时候再找他solo,肯定赢!
♀ 小AD:好嘞!
在这里插入图片描述

两个基本概念

1.bit (位):位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。

2.byte (字节):字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。

1byte=8bit

1KB=1024byte

1MB=1024KB

1GB=1024MB

♂ 明世隐:这个应该很好理解吧!
♀ 小AD:这个好像跟内存有点像的
♂ 明世隐:它就是,比如王者中金币计算单位是1个金币,一把铁剑多少钱?
♀ 小AD:250
♂ 明世隐:挖槽,你可真是个250,我话都还没说完,那你6把铁剑呢?
♀ 小AD:1500啊
♂ 明世隐:那攻击力加了多少
♀ 小AD:120
♂ 明世隐:算的蛮快,这跟1024是不是很像,就是个比例关系。
♀ 小AD:嗯,这个挺好理解,之前对内存这种关系也有了解,喷我的小学生搞不好都懂。
♂ 明世隐:你看这瞬间6神装了,不起飞?
♀ 小AD:嗯,早期肯定起飞!

说明

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

在这里插入图片描述

数据类型分类

1.基本数据类型

2.引用数据类型

基本数据类型

基本数据类型分成4个小类型

1.整数型
2.浮点型
3.字符型
4.布尔型

整数型

类型 占用存储空间 范围
byte 1字节 -128~127
short 2字节 -215~215-1
int 4字节 -231~231-1
long 8字节 -264~264-1

举个例子

public static void main(String[] args) {
	byte a = 100;
	System.out.println(a);
}

♀ 小AD:哥,你这个byte a = 100;,啥意思,看不是太懂。
♂ 明世隐:这个是Java中定义一个变量的写法。
♀ 小AD:之前你没说过
♂ 明世隐:这个简单讲一下,下次再具体讲变量,byte表示类型,a表示变量名,= 就是直接赋值,8就是之前讲的字面量,也就是数据。
♀ 小AD:然后呢?
♂ 明世隐:就是说我定义了一个byte类型的变量a,并且给它设置了值,值为8。
♀ 小AD:好像明白,又好像不是太明白
♂ 明世隐:就比如说,有个装备叫铁剑,它的价格是250
♀ 小AD:那我明白了
♂ 明世隐:哦。。。有点扯,我不信
♀ 小AD:类型就是“攻击装备”,名称就是“铁剑的价格”,字面量就是 250。
♂ 明世隐:挖槽,你惊到我了,你果然是个游戏的小天才,我特么的服了,一说道游戏你就灵性起来了?
♀ 小AD:明哥指导的好!
♂ 明世隐:我可不敢当!

上述代码运行

在这里插入图片描述

如果修改代码

在这里插入图片描述

128不在范围 -128~127 内,超出了这个范围,所以会编译报错。

short、int、long也是类似了,其中 int 是最常用的。

浮点型

类型 占用存储空间 范围
float 4字节 -231~231-1
double 8字节 -263~263-1

字符型

类型 占用存储空间 范围
char 2字节 0~65535

布尔型

类型 占用存储空间 范围
boolean 1bit true,false

♀ 小AD:明哥,你说了那么多范围,我也记不住啊,这样记我不会呀
♂ 明世隐:你不需要记,我给你举个例子,就教一下你怎么配置铭文
♀ 小AD:好呀
♂ 明世隐:首先我问你,射手主要什么输出
♀ 小AD:平A物理系
♂ 明世隐:对,那攻速和暴击对射手来说比较重要吧
♀ 小AD:所以铭文也是要配置这个?
♂ 明世隐:攻速是肯定要的,所以推荐优先配置攻速、攻击、吸血、移速、暴击等铭文!大概就是红色无双、祸源,蓝色狩猎、夺萃,绿色鹰眼,具体怎么配,就不用我说了吧,自己学去。
在这里插入图片描述
♀ 小AD:那就是大概记住常用的,对应好英雄的属性就行了吧
♂ 明世隐:就是这个意思
♀ 小AD:那在Java中也要对应好类型呗。
♂ 明世隐:是的Java是强类型语言,如果类型指定的不对,报错的。
♀ 小AD:可是我记不住的
♂ 明世隐:不需要记住,首先常用的就是 int 和boolean,然后他们的类型你设置的错误,工具会提示你的。
♀ 小AD:哦
♂ 明世隐:不需要去记,你使用过几次就熟悉了,这就和你出装备一样的,小鲁班你出装备熟悉吧。
♀ 小AD:电刀、无尽、泣血等
♂ 明世隐:是的,用几次就明白了,举两个例子。
♀ 小AD:好的

例子1:

在这里插入图片描述

这boolean型的你设置100就肯定报错了。

在这里插入图片描述

这样就没毛病了。

例子2:

在这里插入图片描述

看报错信息就知道是类型不对。

引用数据类型

1.引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时候被指定为一个特定的类型,声明之后不能改变。

2.引用数据类型包括:类(对象)、接口、数组。

3.所有引用类型默认值都是null。

4.一个引用变量可以用于引用任何与之兼容的类型。

两者的区别

1.从概念方面说 :

类型 区别
基本数据类型 变量名指向具体的数值。
引用类型 变量名不是指向具体的数值,
是指向存数据的内存地址。

2.从内存方面来说:

类型 区别
基本数据类型 被创建时,在栈内存中会被划分出一定的内存,并将
数值存储在该内存中。
引用数据类型 被创建时,首先会在栈内存中分配一块空间,然后
在堆内存中也会分配一块具体的空间用来存储数据
的具体信息,即hash值,然后由栈中引用指向堆中
的对象地址。

♀ 小AD:明哥,你说半天我没听懂
♂ 明世隐:那我问你,你在你家里面,你可以使用你的家,是不是?
♀ 小AD:那当然,我家我做主
♂ 明世隐:那你就类似基本引用类型,这家的区域就是给你划定的内存区域。
♀ 小AD:这样啊
♂ 明世隐:我如果有你家里的钥匙,我开门进去,我也可以使用你家的空间是不是,那我就是引用类型,就是说我不是直接拥有你家的使用权,我是有了你家的钥匙,我也就有了使用权,这样好理解吧?
♀ 小AD:好像有点明白了,不过你为啥会有我家的钥匙,你要干嘛明哥?不会吧不会吧,你不会有什么邪恶的想法吧。
♂ 明世隐:滚一边去,我就举个例子,你别做梦了。
♀ 小AD:那明哥,我有你的游戏账号、密码,这么说也可以看做是引用类型吧。
♂ 明世隐:差不多这个意思,就是说我手上拿着的账号密码,就类似引用类型指向内存地址。
♀ 小AD:那我把你铭文给融了。
♂ 明世隐:活腻歪了?
♀ 小AD:不皮了,我先去装一下铭文,再去找小朋友solo。
♂ 明世隐:再输别说你认识我
在这里插入图片描述

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

您可能感兴趣的文章:
阅读全文