JAVA 类型的类型转换

news/2024/10/30 9:33:22/

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的值可以直接赋值给大类型intfloat 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.ppmy.cn/news/50805.html

相关文章

Unity音量滑块沿弧形移动

一、音量滑块的移动 1、滑块在滑动的时候,其运动轨迹沿着大圆的弧边展开 2、滑块不能无限滑动,而是两端各有一个挡块,移动到挡块位置,则不能往下移动,但可以折回 3、鼠标悬停滑块时,给出音量值和操作提示 …

FWT学习笔记(快速沃尔什变换)

前言 首先,我们来看看多项式乘法。 f ( x ) a 0 a 1 x a 2 x 2 ⋯ a n x n f(x)a_0a_1xa_2x^2\dotsa_nx^n f(x)a0​a1​xa2​x2⋯an​xn g ( x ) b 0 b 1 x b 2 x 2 ⋯ b n x n g(x)b_0b_1xb_2x^2\dotsb_nx^n g(x)b0​b1​xb2​x2⋯bn​xn 而 h ( x ) …

MySql中,join 语句怎么优化?

既然每次从驱动表取数据比较耗时,那我们每次从驱动表取一批数据放到内存中,然后对这一批数据进行匹配操作。这批数据匹配完毕,再从驱动表中取一批数据放到内存中,直到驱动表的数据全都匹配完毕 批量取数据能减少很多IO操作&#…

基于matlab仿真相控天线阵列在波束成形MIMO-OFDM系统中的使用

一、前言 本例显示了相控阵在采用波束成形的MIMO-OFDM通信系统中的使用。它使用通信工具箱和相控阵系统工具箱中的组件,对组成发射器和前端接收器组件的辐射元件进行建模,用于MIMO-OFDM通信系统。使用用户指定的参数,您可以根据不同空间位置和…

树形DP分析

树形dp 简单来说树形 d p 就是在树上做 d p 罢了 简单来说树形dp就是在树上做dp罢了 简单来说树形dp就是在树上做dp罢了 树嘛,就要符合除了根节点外每个节点只有一个父节点 树嘛,就要符合除了根节点外每个节点只有一个父节点 树嘛,就要符合除…

微信小程序PHP+python+nodejs+springboot+vue 电影院订票选座系统

管理员的主要功能有: 1.管理员输入账户登陆后台 2.个人中心:管理员修改密码和账户信息 3.会员管理:对注册的会员信息进行删除,查询,添加,修改 4.电影分类管理:对电影的分类信息进行添加&#xf…

Canokey Pigeon的初级玩法

Canokey Pigeon的初级玩法 前言开箱使用控制台新版旧版 初步设置FIDO2 PIN更改重置 坑(或者说不满意的地方)玩法FIDO2/U2FOpenPGPPIVNDEFOATH 参考 本文转载于我的博客Canokey Pigeon的初级玩法 Canokey Pigeon今天终于到货了 {% note warning flat %} …

pt12pymsql使用

pymysql模块 pymysql是一个第三方库,如果自己的计算机上没有可以在终端使用命令进行安装。 pymysql默认开始事务,支持事务的引擎需要commit sudo pip3 install pymysql pymysql使用流程 1. 建立数据库连接:db pymysql.connect(...)…