当前位置: 首页 > news >正文

Java011——Java数据类型转换(基本数据类型)

回顾:Java八大基本数据类型

============================================================================================
大类		类型名称	   		关键字	   占用内存	      取值范围
--------------------------------------------------------------------------------------------|字节型			byte		1 字节		-128~127
整型		|短整型			short		2 字节		-32768~32767|整型			int			4 字节		-2147483648~2147483647|长整型			long		8 字节		-9223372036854775808L~9223372036854775807L
--------------------------------------------------------------------------------------------|单精度浮点型		float		4 字节		+/-3.4E+38F6~7 个有效位)
浮点型	|双精度浮点型		double		8 字节		+/-1.8E+308 (15 个有效位)
--------------------------------------------------------------------------------------------
字符型	|字符型			char		2 字节		ISO 单一字符集
--------------------------------------------------------------------------------------------
布尔型	|布尔型			boolean		1 字节		truefalse
============================================================================================

这里只讨论8大基本类型中的7个类型,不涉及boolean类型

围绕以下3点学习:
1、什么是Java数据类型转换?
2、自动类型转换
3、强制类型转换

什么是Java数据类型转换?

数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。

Java数据类型转换包括:自动类型转换强制类型转换

一、自动类型转换

自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。

发生情景:容量小的和容量大的做运算,结果会自动变成容量大的对象的数据类型,即

bytecharshort --> int --> long --> float --> double

特别的:当byte、char、short三种类型的变量做运算时,结果为int型

说明:
1、此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量
2、不同类型的数字先转换成同类型,再运算

二、强制类型转换

人为通过代码将数据进行类型转换,即强制类型转换。

发生情景:容量大的转换成容量小的,就需要进行强制类型转换。

格式:
(数据类型)变量; 或者(数据类型)变量值
例如:(int) num;int(15.2);

例如

float a = 100;
int b = (int)a;//将a从float类型强制转换成int类型

强制类型转换可能会造成内存溢出,或者数值精度丢失

1、内存溢出
a、显式内存溢出
inte a = 128;
byte b = (byte)a;//内存溢出,因为byte类型最大只能表示127
b、隐式内存溢出
byte c = 5;
byte d = 32;
int e = c * d//出现内存溢出,因为在赋值给e前,c*d结果还是byte类型,//但是c*d等于160,大于byte类型最大值127,所以会溢出
int f = c *int)d//正确写法2、数值精度丢失
float a = 25.63;
int b = (int)a;
System.out.println(b);//输出结果是25,而不是25.63,造成精度丢失0.63
http://www.lryc.cn/news/92605.html

相关文章:

  • mybatis-plus用法(二)
  • SQL笔记-存储过程+循环
  • HNU-操作系统OS-作业1(4-9章)
  • springboot 精华
  • 我用ChatGPT写2023高考语文作文(三):新课标I卷
  • HTML 标签的学习
  • 计算耗时为微秒的方法(包含:时/分/秒/毫秒/微秒/纳秒)
  • 通过 Python 封装关键词搜索阿里巴巴商品api接口
  • 分布式光伏消纳的微电网群共享储能配置策略研究(Matlab代码实现)
  • C语言写网络爬虫总体思路
  • 机器学习实战六步法之训练模型、优化模型、部署模型(七)
  • 《C++高级编程》读书笔记(七:内存管理)
  • Scrum团队的三个角色
  • python环境中使用 requirement.txt 安装依赖
  • UE5 材质常用大全
  • 笔记本安装centos操作系统
  • Polarion工作流插件(自定义)
  • JavaScript库:jQuery,简化编程
  • [springboot]菜鸟学习- JdbcTemplate用法浅尝
  • 11.无监督学习之主成分分析
  • 「HTML和CSS入门指南」figcaption 标签详解
  • 电子企业实施数字化工厂建设之前,需要注意哪些
  • 迅捷pdf实现多页插入
  • 调用阿里云API实现证件照生成
  • PHP 转换 excel中读取的时间
  • Cmake工具的简单使用
  • html选择器
  • Leetcode 剑指 Offer II 030. 插入、删除和随机访问都是 O(1) 的容器
  • django实现读取数据导出生成excel表格
  • DevOps系列文章之 Docker-compose