java中的数据类型[通俗易懂]

java中的数据类型[通俗易懂]java中的数据类型

大家好,又见面了,我是你们的朋友全栈君。

        在java中,数据类型分为基本数据类型和引用数据类型。今天我们主要介绍一下基本数据类型。java中有8中基本数据类型,分别用于存储整数、浮点数、字符数据和布尔类型的数据。下面的图列出了java中的基本数据类型,方便大家理解。

java中的数据类型[通俗易懂]

        从上图我们可以看出,基本数据类型分为4类(整型、浮点型、字符型和布尔型),整型又包含字节型、短整型、整型和长整型。浮点型包括单精度和双精度浮点型。这些数据类型之间有什么区别呢,个人认为是在内存中所占的存储空间不通,下面列出了8种数据类型的存储空间及使用场景:

java中的数据类型[通俗易懂]

        到这里不知道大家有没有疑问,比如说给了一个整数类型的数 10,那么这个10是short、int还是long?还有2.3是float类型的还是double类型的?这就有了直接量的概念:直接量就是直接写出的数。整数的直接量的类型默认为int类型,浮点数的直接量是double类型。

        不同的基本类型可以相互转化,主要有自动类型转换和强制转换两种方式。

自动类型转化:也称为隐式类型转换,就是从小类型到大类型可以自动完成。类型的大小关系如下图所示:

java中的数据类型[通俗易懂]

强制类型转化:从大类型到小类型需要强制转换符,转换的方法为在需要转换的变量前加上需要转换成的数据类型。

下面我们通过实例来加深对数据类型转换的理解

short a = 10;

short b = 20;

int c = a + b; 

在这个例子中,定义a和b是short类型的,最后他们两个的和赋值给int类型的c,a+b的值首先是short类型的,在赋值给c的过程中做了隐式转换。

int a = 10;

short b = a;  这样写编译不能通过,当大类型的值赋给小类型的变量时,需要进项强制类型转换,即 short b = (short) a;

还有这样一个例子:

short a = 1;

a = a + 2;

第一条语句首先定义了一个short类型的变量a,并给它赋值为1,第二条语句:在执行a + 2 的时候,2是默认的整数类型即 int 型的,而a 是short类型的,它们两个做加法首先 a 进行了隐式转化,short 类型的就变成了int类型,他们两个的和也是int类型的,而int类型的值时不能直接赋值给short类型的a的,所以在第二条语句这里需要就行强制转化,

a = (short) a + 2;这样才能编译通过。

         这块写的有点绕,不知道大家看懂了没。关于数据类型转换,我们明白两点然后去运用就好了,这两点就是:小类型的数据转到大类型的时候会进行隐式转换,把小类型提升为大类型的。大类型的数据向小类型的数据转化时要进行强制转化,这个时候要注意溢出的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105657.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Wifi开坑

    Wifi开坑缘起:读书期间,大量接触通信基础,无线快速发展,目光关注点自然是高高的基站塔,以及小小的手机(这个信息社会浓缩操作系统、通信、开源和智能化(智能掌机)的结晶当然也不简单)。至于短距离通信里面的形形色色,眼花缭乱的Wifi、BLE(蓝牙)、Zigbee、体域网则是感知中盲区,异类。一直到博士后期到职业才隐隐感知到,天下大事必出于细的道理。云动:就如“小小”体域网(Bodyareanetwork)中除了通用的天线设计、收发、同步、多通道处理外还有特别关注的鲁棒性设计,如何高可靠无中断地始终获取无线信

    2022年7月21日
    13
  • 移动端开发之APP消息推送[通俗易懂]

    移动端开发之APP消息推送[通俗易懂]有这样一种场景,当你在手机APP上输入你的信息,会自动跳出一个弹窗,表示某任务已执行。最简单的一个例子就是当你输入手机号,点击获取验证码的时候,就会跳出一个对话框,说“验证码已发送到手机,请注意查收”,这些都是如何实现的。

    2022年6月2日
    40
  • 基于qt的简单小游戏_中国象棋单机版2,0

    基于qt的简单小游戏_中国象棋单机版2,0最近对Qt这个跨平台C++图形应用程序框架很感兴趣,闲暇时间多学了一下,收获很多,也踩了不少坑,在这里记录一下,分享心得。Qt的安装安装Qt并不麻烦,就是网速有点慢。推荐使用国内镜像代理下载。首先进入Qt官网,在TryQt处点击DownloadQt,填完基本信息后,点击提交就可以下载Qt下载器了。当然,你也可以直接去国内镜像站上下载Qt下载器。打开Qt下载器,注册Qt账户,并登录,同意协议。若要使用国内镜像代理,点击左下角的配置图标。然后从百度上选择

    2022年8月29日
    2
  • 什么是mvc设计模式它有什么优点_简单介绍mvc设计模式

    什么是mvc设计模式它有什么优点_简单介绍mvc设计模式什么是MVC设计模式

    2025年6月9日
    3
  • java子窗口获取父窗口句柄_java获得窗口句柄[通俗易懂]

    java子窗口获取父窗口句柄_java获得窗口句柄[通俗易懂]学会用按键精灵获取子窗口句柄来源:按键学院【按键精灵】电脑的桌面是最顶级的…Windows通过句柄(Handle)识别每个窗体、控件、菜单和菜单项,当程序运行时,它所包含的每个部件都有一个惟一确定的句柄同其他的部件相区别句柄在WindowsAPI中具有举足……其实呢,“抓抓”抓句柄的功能,实现起来是很容易的,我们一起来操作看看。实现功能点击图片控件之后鼠标不松开,到了需要…

    2022年7月14日
    18
  • scp传输文件的命令

    scp传输文件的命令scp传输文件的命令

    2022年8月22日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号