一篇文章带你入门Java数据类型
作者:编程界明世隐 发布时间:2022-06-10 09:25:44
引言
♀ 小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。
♂ 明世隐:再输别说你认识我
来源:https://blog.csdn.net/dkm123456/article/details/118675819


猜你喜欢
- 在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文
- 1.概述:C语言中的单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表中最简单的一种
- 简介前提条件:确保本机已经安装 VS Code。确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。VSC
- listview经常结合下来刷新和上拉加载更多使用,本文总结了三种常用到的方案分别作出说明。
- 一、前言在Spring中,事务有两种实现方式:编程式事务管理: 编程式事务管理使用TransactionTemplate可实现更细
- C#史上最简单读写xml文件方式,创建控制台应用程序赋值代码,就可以运行,需要改动,请自行调整using System;using Syst
- 一、File类的概述和构造方法public class Fileextends Objectimplements Serializable,
- 1.栈和队列的共同特点是(只允许在端点处插入和删除元素)4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构)5.下列关于栈的叙述正确
- Spring @Async无法实现异步问题原因项目中存在2个配置文件:springMVC.xml和beanDefines.xml,它们都配置
- 1. 二叉树的顺序存储1.1 存储方式使用数组保存二叉树结构,方式即将二叉树用 层序遍历 方式放入数组中。一般只适合表示完全二叉树,这种方式
- using System;using System.Collections.Generic;using System.Linq; using
- 在Java中,当为一个类创建了多个构造函数时,有时想在一个构造函数中调用另一个构造函数以减少代码量。这时可以使用this关键字来实现。有关构
- C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的
- C语言字符串大小比较#include <stdio.h>#include <string.h>int fun(cha
- JPA双向多对多关联关系@ManyToManypackage com.jpa.helloworld; import java.util.Ha
- 刚刚开始学习C#,想自己做一个网页游戏的挂。游戏里面有收钱的动作,一个建筑物一个建筑物的点,很累啊。于是想用C#模拟鼠标操作替我收钱,想着学
- 1、检测权限因为dump系统lsass内存和sam注册表需要管理员权限,所以首先需要对当前进程上下文权限做判断。public static
- Android 使用mediaplayer播放res/raw文件夹中的音乐的实例(1)在res文件夹中新建一个文件夹重命名为raw,并且将要
- 类加载器java中的类并不是一次加载完成的,而是按需加载。类加载器是用于加载java类到java虚拟机中的组件,它负责读取java字节码,并
- 页面报错:后台错误:Field error in object 'user' on field 'birthday&