【JAVA基础篇】基本数据类型及自动类型转换

一、8种基本数据类型以及占用内存空间大小

boolean  1byte或4byte

byte        8bit/1byte

char        16bit/2byte

short       16bit/2byte

float        32bit/4byte

int           32bit/4byte

long        64bit/8byte

double    64bit/8byte

二、自动类型转换

2.1、类型自动提升

占用内存小的数据类型可以自动转换成占用内存大的数据类型。

允许类型自动提升的顺序如下:

byte-->short-->int-->long-->float-->double或者char-->int-->long-->float-->double

具体规则:

     如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。

  否则,如果其中一个操作数是float类型,另一个将会转换为float类型。

  否则,如果其中一个操作数是long类型,另一个会转换为long类型。

  否则,两个操作数都转换为int类型。

测试用例1:

    	double d = 1.0;int i = 1;
//    	int sum = i+d;//这行代码放开编译会报错,提示Type mismatch: cannot convert from double to intdouble sum = i+d;//会先将i的数据类型自动提升为double,然后两个double类型做运算,返回也是double类型

测试用例2:

    	float d = 1.0f;long i = 1;
//    	long sum = i+d;//这行代码放开编译会报错,提示Type mismatch: cannot convert from float to longfloat sum = i+d;//会先将i的数据类型自动提升为float,然后两个float类型做运算,返回也是float类型

通过上面的两个测试用例证明我们的规则是正确的。

2.2、类型自动强转

占用内存大的数据类型可以自动强转成占用内存小的数据类型。

下面这几种情况会先自动提升,然后自动强转

测试用例3:

    	byte b = 127;byte b2 = ++b;//先执行++b,返回int类型,然后强转成byte类型赋值给b2System.out.println(b2);//输出-128

测试用例4:

    	byte b = -128;b += -128;//先执行b+(-128),返回int类型,然后强转成byte类型赋值给bSystem.out.println(b);//输出0

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

的优缺点_浅谈桉木家具的优缺点

家具现在的材质是有很多的,木质的,石材的,还有真空充气的,都是很不错的类型。桉木家具是现在很多人都喜欢的一种材质,但是很多人对桉木家具的优缺点不是很清楚,为了能够让大家更加清楚的了解桉木家具&#…

【算法篇】递归

一、递归的概念 程序调用自身的编程技巧称为递归。 递归的核心思想就是将一个大规模复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 二、递归的优点 使用递归的好处是只需要少量的代码就可以描述出求解问题过程中多次重复的计算,大大减少了程序…

客户说发货慢怎么回复_女生微信说身体不舒服怎么回复关心她?

当你不在女生身边,女生微信给你说身体不舒服,肯定需要说点话来安慰她了。多喝热水肯定是不行了,一点用处都没有,还会让女生觉得你根本不重视她,是在敷衍她,那女生微信说身体不舒服怎么回复关心她呢&#xf…

【算法篇】八种内排序算法

常用的八种内排序算法分别是: 交换排序:冒泡排序、快速排序选择排序:简单选择排序、堆排序插入排序:直接插入排序、希尔排序归并排序基数排序 内排序巧记:选(选择)舰(简单选择)队(堆)的时候脚(交换)毛(冒泡)快(快速)&…

数据分析专题报告范文6篇_小学生看图写话范文:小熊玩跷跷板?(6篇),让孩子参考练习...

​范文01:小熊跷跷板一天,天气晴朗,胖乎乎的小熊和小白兔一起玩跷跷板。小熊一屁股坐在地上,小白兔说:“啊!我有恐高症哇!”小熊说:“我比你重,所以你没有办法把我翘起来…

PL/SQL

1 PL/SQLPL/SQL:过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环…

20sccm_SCCM 2012安装图解教程(一步一步详细步骤)

本系列文章的环境架构如下图所示:所有服务器安装的操作系统都是windows Server 2008 R2 中文企业版。计算机名软件、版本及角色SC-DC.SC.COMwindows Server 2008 R2 Enterprise /Active Directory 2008 R2SC-SQL.SC.COMSQL Server 2008 R2 EnterpriseSC-SCCM.SC.COM…

【Java中级篇】Dom4j解析xml数据

一、依赖 <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency> 二、test.xml <?xml version"1.0" encoding"UTF-8"?> <students>…

redis 附近的人_使用redis—geo api实现搜索附近的人,自己写的一个composer包

安装如果是应用在项目当中的话找到根目录&#xff0c;需要和 composer.json同级composer require gaopengfei/redis_lbs基本操作初始化require_once __DIR__./vendor/autoload.php;$lbs new \LBS\Services\LBSService();添加$add_params [[name > yabao_road,long > 11…

【Java中级篇】使用zxing生成二维码

一、pom.xml添加依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.1.0</version></dependency><dependency><groupId>com.google.zxing</groupId><artifa…

微信小程序弹出框竖向滚动_微信小程序 解决自定义弹出层滑动时下层页面滚动问题...

WXML将整个底层页面使用 scroll-view 包裹起来&#xff0c;设置 scroll-y 当显示弹出层的时候为 true&#xff0c; 闭关弹出层的时候为 falseWXSSPage 设置为绝对定位&#xff0c;宽高各百分之百 &#xff0c; scroll-view 高度 百分之百Page{position: absolute;width: 100%;h…

win10环境安装使用svn客户端和服务端

一、下载安装包 安装包下载传送门http://subversion.apache.org/packages.html 无法下载的童鞋去百度云下载 链接&#xff1a;https://pan.baidu.com/s/1EuGohoZKIPmRvynp5-Subw 提取码&#xff1a;ohna 链接&#xff1a;https://pan.baidu.com/s/1EJrd5DzGCBE4rRfdhuno6Q …

openglshader实现虚拟场景_opengl – 如何使用GLSL着色器将径向模糊应用于整个场景?...

我在GLSL中有一个径向模糊着色器,它采用纹理,对其进行径向模糊,并将结果呈现给屏幕.这个工作很好,到目前为止.问题在于,它将径向模糊应用于场景中的第一个纹理.但是我实际上想做的就是将这个模糊应用于整个场景.实现此功能的最佳方式是什么&#xff1f;我可以只使用着色器,还是…

记一次尴尬的面试

昨天信达雅公司邀请我去平安面试&#xff0c;然后我今天10点到科技信息中心&#xff0c;等了接近20分钟才有人过来接我。 第一个环节是机试 40个题目&#xff0c;主要是选择题&#xff0c;花了40分钟结束战斗&#xff0c;总分100得了75分&#xff08;手机快没电了&#xff0c…

所选元素非联通_非固化橡胶沥青防水涂料与耐根穿刺防水卷材(沥青基)施工要点...

目前&#xff0c;非固化复合耐根穿刺防水卷材在车库顶板的应用逐渐受到客户及用户的认可&#xff0c;也有不少慕名而来的防水从业者打电话来咨询此系统的应用情况及优势。下面就由小编来给大家系统介绍此应用系统的特点吧。01性能优势1.两种材料高度的相容性非固化橡胶沥青防水…

事务的理解

事务的概念 事务是一组SQL组成的逻辑处理单元&#xff0c;通常有四个特性&#xff0c;简称ACID&#xff1a; 原子性&#xff08;Atomic&#xff09;&#xff1a;数据库事务是不可分割的工作单位。事务中的SQL语句要么都执行成功&#xff0c;要么都执行失败。 一致性&#xf…

vscode设置templates_在VScode中创建你的代码模板的方法

使用VScode的用户代码片段功能&#xff0c;来生成自己习惯的代码模板&#xff0c;提升开发效率1.选择菜单里的 文件 > 首选项 > 用户代码片段2.选择你需要自定义模板的文件&#xff0c;以vue为例3. 配置对应文件json把代码片段写在json里。每个代码段都是在一个代码片段名…

【Java中级篇】动态代理机制

要想搞明白动态代理之前&#xff0c;我们先来了解一下代理是什么意思&#xff0c;先来谈谈设计模式中的代理模式。 什么是代理模式&#xff08;Proxy&#xff09; 定义&#xff1a;给目标对象提供一个代理对象&#xff0c;并由代理对象控制对目标对象的引用。 在代理模式中&…

二维分类教案_幼儿园中班数学教案中班数学教案二维排序——师乐汇幼儿教师教育网...

中班数学教案&#xff1a;二维排序一、活动目标&#xff1a;1. 在分类的基础上初步运用二维排列表进行物品放置。2. 通过场景设置、温故知新由易到难的课程安排&#xff0c;幼儿能积极参与大胆表达并且根据表格来进行物品放置。3&#xff0e;在生活化的情境中体验学习数学活动的…

【JAVA基础篇】String类详解

昨天参加了一场机试&#xff0c;发现自己居然对String类的api不熟了&#xff0c;所以今天来总结一下&#xff08;基于JDK1.8&#xff09;。 1、父类和实现的接口 没有父类&#xff0c;或者说父类是Object 接口&#xff1a;Serializable、Comparable<String>、CharSequ…