JAVA 类型的类型转换

这篇具有很好参考价值的文章主要介绍了JAVA 类型的类型转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JAVA 类型的类型转换

一、基本类型的类型转换

箭头开始的地方是小类型,箭头指向的地方是大类型
我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦
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文章来源地址https://www.toymoban.com/news/detail-425837.html

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);
	}

}

到了这里,关于JAVA 类型的类型转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++】main开始的地方

    目录 1. C++ 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 3. C++输入输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C++支持函数重载的原理--名字修饰(name Mangling) 6. 引用 6.1 引用概念 6.2 引用特性 6.3 常引用 6.4 使用场景 6.5 传值、传

    2024年02月06日
    浏览(31)
  • Stream流 - 获取Stream和转换操作(含基本数据类型流)

    Stream流是jdk1.8对集合对象功能的增强,可以通过将集合转换为流模型,通过声明的方式对集合中的每个元素进行一系列并行或者串行的流水线操作。 Stream只要给出对其包含的元素执行什么操作,Stream就会隐式地在内部进行遍历,并给出响应的数据转换。 Stream可以并行化操作

    2024年02月16日
    浏览(27)
  • 【ZYNQ】Linux驱动之梦开始的地方

    软件版本:Vivado2021.1 操作系统:WIN10 64bit、Ubuntu18.04 硬件平台:ZYNQ UltraScale 在 PS 端接有两个 LED 灯,这些灯接在了 MIO 上,而 MIO 可以复用成为 GPIO,因此控制 GPIO 其实就是控制了 LED 等器件。本文通过读写寄存器来实现对 GPIO 的控制。 1.2.1寄存器查询手册   使用 GPIO 需要设

    2024年02月14日
    浏览(30)
  • 零基础入门Vue之梦开始的地方——插值语法

    我!作为初学者,既然要将Vue,那我一定要介绍一下他是什么?我们可以应用一下官方的话 vue的介绍 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上

    2024年01月17日
    浏览(31)
  • JAVA 类型的类型转换

    箭头开始的地方是小类型,箭头指向的地方是大类型 我们此处所指的\\\"大\\\"和\\\"小\\\",指的是对应类型的取值范围,不是字节数哦 byte m = 120; int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用 float f = 3.2f; double d = f; --可以执行 容量大的类型转换为容量小的类型时必

    2023年04月26日
    浏览(22)
  • Qt-OpenCV学习笔记--基本函数操作--cv::convertTo(图像类型转换)

    不是所有格式的Mat型数据都能被使用。 目前OpenCV主要只支持单通道和3通道的图像,并且此时要求其深度为8bit和16bit无符号(即CV_16U),所以其他一些数据类型是不支持的,比如说float型等。 如果Mat类型数据的深度和通道数不满足上面的要求,则需要使用convertTo()函数和cvtColor(

    2024年02月04日
    浏览(42)
  • Java类型转换和类型提升

    目录 一、类型转换 1.1 自动类型转换(隐式) 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换(显示) 1.2.1 int 与 long 之间  1.2.2 float 与 double 之间  1.2.3 int 与 double 之间 1.2.4 int 与 byte 之间 二、类型提升 2.1 int 与 long 之间 2.2 byte 与 byte 之间

    2024年02月07日
    浏览(32)
  • 我们都低估了GPT-4,它才是梦开始的地方

    从今年开始 最近这两个月 AI技术带来的冲击一个接一个 我们的团队都在忙着研究各种AI 性能力这个方面 还真不如自己马上上手 用这些软件感受来的那么强烈 我觉得至少有几个产品 大家可以去试一下 第一 大家赶紧去看一个church GBT plus的账号 然后亲身体验一下GPT4的底层能力

    2023年04月12日
    浏览(32)
  • 【Java 基础篇】Java 类型转换

    在Java编程中,类型转换是一种将一个数据类型转换为另一个数据类型的操作。类型转换可以发生在原始数据类型之间,也可以在引用数据类型之间进行。本篇博客将详细介绍Java中的类型转换,包括隐式类型转换和显式类型转换,并提供相关的代码示例。 隐式类型转换是指在

    2024年02月07日
    浏览(41)
  • 【Java探索之旅】解密Java中的类型转换与类型提升

    🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天! 在Java编程中,类型转换是一个重要的概念,尤其在不同数据类型之间进行赋值和运算时。本文将介绍Java中的自动类型转换和强制类型转换,以及类型提升的概念。通过本文的学习,您将深入

    2024年03月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包