JAVA 类型的类型转换

news2024/11/26 18:45:51

JAVA 类型的类型转换

一、基本类型的类型转换

箭头开始的地方是小类型,箭头指向的地方是大类型
我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦
在这里插入图片描述

1.1 小到大(隐式转换)

byte m = 120;
int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
float f = 3.2f; double d = f; -->可以执行

1.2 大到小(显式转换)

容量大的类型转换为容量小的类型时必须使用强制类型转换。

int x = 999;
byte y =(byte)x;//大转小,右面x给左面的y小类型赋值,不可以,需要强制类型转换

转换过程中可能导致溢出或损失精度
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
不能对boolean类型进行类型转换。

1.3 口诀:

小到大,直接转 大到小,强制转 浮变整,小数没
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double

1.4 案例代码

package cn.tedu.basic2;
/**本类用于测试类型转换*/
public class Demo2 {
	public static void main(String[] args) {
		/**1.小到大 直接转*/
		byte a = 120;
		int b =a;//小类型byte的值可以直接赋值给大类型int
		 
		float f = 3.14F;
		double d = f;//小类型float的值可以直接赋值给大类型double
		
		/**2.大到小,强制转*/
		int x1 = 120;
		int x2 = 128;
		byte y1 = (byte) x1;//大类型int赋值给小类型byte需要强制类型转换
		byte y2 = (byte) x2;//大类型int赋值给小类型byte需要强制类型转换
		System.out.println(y1);//x必须在byte的范围之内,否则数据就会溢出错误
		System.out.println(y2);//x必须在byte的范围之内,否则数据就会溢出错误
		
		/**3.浮变整,小数没*/
		double dd = 6.999;
		int ii = (int)dd;
		System.out.println(ii);
	}

}

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

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

相关文章

【微服务笔记21】微服务组件之Sentinel服务熔断、服务降级、流量控制介绍

这篇文章,主要介绍微服务组件之Sentinel服务熔断、服务降级、流量控制。 目录 一、Sentinel组件 1.1、Sentinel介绍 1.2、Sentinel环境搭建 (1)引入依赖 (2)资源和规则 1.3、使用SphU定义资源 (1&am…

LNMP网站框架搭建

1. Nginx的工作原理 php-fpm.conf 是控制php-fpm守护进程的 php.ini是php解析器 工作进程: 1.客户端通过域名进行请求访问时,会找Nginx对应的虚拟主机 2. Nginx对该请求进行判断,如果是静态请求,Nginx会自行处理,并将处理结果返…

微信小程序原生开发功能合集十三:列表界面的实现

本章实现列表展示组件,包括列表数据加载、筛选、分页加载、快速搜索等功能。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn.net/course/detail/379…

提交代码「前置处理」,向前一小步,效率提升「亿点点」

💡 如何巧用 Git Hook,解决代码提交中的代码规范性、冲突和错误以及工作流程问题? 近日,在极狐Tech Talk 直播上,极狐(GitLab) 后端工程师田鲁分享了自己的实践经验。以下内容整理自本次直播,你也可以点击文…

Linux第二章

文章目录 前言一、Linux系统的目录结构和路径表达形式二、Linux命令基础1.ls命令入门2.ls命令的参数和选项3.-cd-pwd命令4.相对路径绝对路径和特殊路径符5.-mkdir命令6.-touch-cat-more-命令7.-cp-mv-rm-命令8.-which-find命令9.-grep-wc-管道符10.-echo-tail-重定向符11.-vi编…

Spring Boot自动装配

目录 是什么? 自动装配的原理 进入SpringBootApplication注解 点击进入EnableAutoConfiguration注解 AutoConfigurationImportSelector(核心) 点进getAutoConfigurationEntry()方法: 点进getCandidateConfigurations() 流程图 是什么&…

远程支持软件:轻松解决电脑问题!

远程协助不工作 当我们提到Windows的远程支持软件时,许多人的第一个想法可能是Windows远程协助。它可以通过发送和接收邀请文件连接两台电脑,然后您可以远程修复另一台电脑上的问题。但是,有时,您会遇到诸如“远程协助无法连接…

【FFTW库】编译生成 x86、arm 环境下的FFTW库

FFTW是一个快速计算离散傅里叶变换的标准C语言程序集,可计算一维或多维实和复数据以及任意规模的DFT。下面主要介绍的是 x86 环境下 FFTW库的编译过程,arm环境下的编译过程和FFTW类似,不同之处在于需要手动指定 编译环境 和 编译器。 FFTW有…

十大常见的电子元器件

电子元器件是电子技术中的基础组成部分,是电子电路的基本构件。电子元器件的种类繁多,但其中一些元器件的应用非常广泛,被称为十大最常用电子元器件。本文将介绍这些元器件的基础知识。 一、电阻器 电阻器是一种用来阻碍电流流动的元器件&a…

改善内部客户服务的 3 个技巧

在当今世界,许多公司都专注于改善客户关系管理,公司管理层面临的挑战是他们不仅拥有外部客户,员工也是有痛点和需求的内部客户。正如糟糕的客户服务会导致客户流失一样,糟糕的内部客户服务会增加员工流动率。在当今瞬息万变的就业…

C++98 auto_ptr智能指针

auto_ptr 是C98定义的智能指针模板,其定义了管理指针的对象,可以将new获得(直接或间接)的地址赋给这种对象.当对象过期时,其析构函数将使用delete来释放内存! 用法: 头文件: #include<memory> 用法: auto_ptr <类型> 变量名(new 类型); #include<iostream> …

算力为基,生态谋远,英特尔商用客户端的三重创新进化

“混合办公”仍旧是2023年全球企业IT管理者与“打工人”共同关注的热点话题。 比如根据携程最新公布的数据&#xff0c;过去一年内有超过66%的员工申请了混合办公对比试运行阶段&#xff0c;管理者对混合办公的支持率提升了10%。超九成管理者认为混合办公对效率无影响。调研数…

gpt人工智能模型原理-GPT的特点和基本原理

gpt训练模型 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是指一类以Transformer网络为基础的语言模型&#xff0c;可以用于自然语言生成、问答、文本分类等多个NLP任务。GPT的训练是基于预训练&#xff08;pre-training&#xff09;的方式进行的&#xff…

Java中读取用户输入的是谁?Scanner类

目录 前言一、Scanner类二、Scanner类基本使用1. 基本使用2. nextLine()方法 前言 我们在初学 Java 编程的时候&#xff0c;总是感觉很枯燥乏味&#xff0c;想着做点可以交互的小系统&#xff0c;可以让用户自由输入&#xff0c;系统可以接收做出反映。这就要介绍一下 Java 中的…

【数据库】表的增删改查(基础 )

目录 1、新增/插入数据 1.1、给表中所有字段插入数据 1.1、给表中指定字段&#xff08;列&#xff09;插入数据 1.2、一次插入多条记录 1.3、时间日期数据的插入 1.3.1、手动插入某个时间 1.3.2、插入当前时刻的时间 2、查找操作 2.1、全列查找&#xff08;查找表的…

【ArcGIS Pro二次开发】(24):现状、规划用地图斑的变化检查

如题如见&#xff0c;这是一个检查现状、规划用地变化的工具。 通过此工具&#xff0c;可以生成变化图斑&#xff0c;检查规划中发生的变化&#xff0c;明确是正常的规划措施&#xff0c;还是因为误操作产生的图斑变化。 一、要实现的功能 如上图所示&#xff0c;点击【检查现状…

【Daily Share】没有域名怎么破?手把手教你如何通过hosts配置域名(假域名)

目录 ❌前言&#x1f4c4;hosts文件&#x1f989;DNS解析步骤&#x1f44c;配置伪域名第一步 修改本机hosts配置第二步 配置服务器nginx &#x1f503;流程图 ❌前言 ip记不住&#xff1f;&#xff1f;&#xff1f; 域名不想买&#xff1f;&#xff1f;&#xff1f; 每次当我…

系统分析师《企业信息化战略与实施》高频知识点

企业信息化战略与实施---企业信息化与电子商务 业务流程重组&#xff08;Business Process Reengineering BPR&#xff09;是针对企业业务流程的基本问题进行反思&#xff0c;并对它进行彻底的重新设计&#xff0c;使业绩取得显著性提高。与目标管理、全面质量管理、战略管理等…

桂林阳朔4天4夜旅游攻略-亲测整理踩坑版本

桂林阳朔4天4夜旅游攻略-亲测整理踩坑版本 前言我的行程上海飞机出发到达两江机场桂林第一家酒店第一天早饭桂林米粉正宗吃法坐大巴去杨堤路口杨堤路口坐巴士直达杨堤码头杨堤到兴坪坐电动竹筏兴坪--20元背面打卡地兴坪古镇--汽车站阳朔酒店租电动车遇龙河漂流&#xff08;*五星…

Three.js教程:Face3对象定义Geometry的三角形面

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 其他系列工具&#xff1a; NSDT简石数字孪生 Face3对象定义Geometry的三角形面 几何体Geometry的三角面属性geometry.faces和缓冲类型几何体BufferGeometry顶点索引属性BufferGeometry.index类似都是顶点位置数据的索引值…