作者简介

本文章为转载,原作者名:编程界明世隐,仅用来学习
简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

系列目录

从零学Java(8)之变量
从零学Java(7)之数据类型
从零学Java(6)之字面量和常量
从零学Java(5)之关键字和保留字
从零学Java(4)之编程规范
从零学Java(3)之第一个实例HelloWorld
从零学Java(2)之搭建开发环境
从零学Java(1)之面向对象


引言

♀ 小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);
}
  • 1
  • 2
  • 3
  • 4

♀ 小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。
♂ 明世隐:再输别说你认识我

零学Java(7)之数据类型,小AD竟然solo不过小朋友相关推荐

  1. 从零学Java(7)之数据类型,小AD竟然solo不过小朋友

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  2. 从零学Java(19)之 if else分支结构详解,小AD要搞对面心态!

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  3. 从零学Java(9)之修饰符,小AD竟打起了钱的主意!

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  4. 从零学Java(8)之变量,小AD竟学会了赏金计算

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  5. 从零学Java(20)之switch case语句,小AD变身中路城管大队!

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  6. java 正负号数值比较_从零学java笔录-第10篇 数据类型(四)

    从零学java笔录-第10篇 数据类型(四) 凯哥Java 凯哥java 本文是<凯哥陪你学系列之java基础篇> 感谢: 感谢网友:志远162.在上一篇中对错误指出. 在上篇中模运算正负 ...

  7. 从零学Java(5)之关键字和保留字,明世隐给AD定规矩!

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  8. 从零学Java(6)之字面量和常量,我家AD想要第一滴血

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  9. 从零学Java(2)之搭建开发环境

    目录 从零学Java(8)之变量 从零学Java(7)之数据类型 从零学Java(6)之字面量和常量 从零学Java(5)之关键字和保留字 从零学Java(4)之编程规范 从零学Java(3)之第一个 ...

最新文章

  1. linux共享库 == windows动态库
  2. 14种东西帮你治疗口腔溃疡 - 生活至上,美容至尚!
  3. matlab 检测gpu,康奈尔大学使用MATLAB进行GPU性能测试
  4. shell 用环境变量的值修改properties文件
  5. join left semi_HIVE--left semi join
  6. css那些事儿4 背景图像
  7. 利用LCD1602显示超声波测距
  8. Spring基础精华知识点
  9. Perl脚本 — 数字IC验证
  10. 计算机电路中bga是什么,bga芯片是什么 BGA和芯片有什么区别?
  11. python工具-截图自动保存
  12. 实例分析神经网络传播过程
  13. Bugku web——秋名山老司机
  14. 文件(图片)上传保存与展示
  15. linux双网卡网桥转发,Linux网桥实现
  16. 目标检测经典论文——Faster R-CNN论文翻译:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Net
  17. 梅科尔工作室-李庆浩 深度学习 KNN算法与SVM算法
  18. 【我是一只It小小鸟】有感
  19. UPP映象(A C++ GUI lib)
  20. 把别人漂亮的QQ空间克隆一份

热门文章

  1. WPF字体图标——FontAwesom
  2. 【PTA~L1-080 乘法口诀数列】
  3. android 配置aspect_Android全面屏适配
  4. pdf翻译,两款pdf文件翻译软件,支持linux/ubuntu,window,mac下使用
  5. 《互动教程 for Photoshop CC》已成功发布在App Store
  6. unity屏幕后处理效果
  7. texi格式文件的读取
  8. 怎样才能压缩PDF文件大小
  9. 下列内容属于计算机房控制功能的是,前厅服务员中级理论知识试卷及答案2
  10. FFplay文档解读-47-多媒体过滤器一