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

20240107-类型转换

1. 自动类型转换

不损失数据精度的前提下,可自动完成变量的类型转换;不损失数据精度指不将超出变量可表示范围的值赋给该变量。

2.强制类型转换

若出现精度损失,java不会自动完成类型转换,需强制进行,见下代码的第8行,强制将long类型转为int类型。强制转换的写法除了下面,还可以是(int)c / (int)a;

public class draft3
{public static void main(String[]args){short a=2;int b=14;long c=244;int d=(int)c/a;System.out.println(d);}
}

3. 表达式的类型转化

java是一个很有弹性的程序设计语言,遵循“数据不流失”的大前提,就能进行不同类型的数据转换,以下为转换规则:

1、占字节少的数据类型向占字节多的数据类型转换(大鱼吃小鱼),如float➡double,short➡int➡long(64位)。

2、字符类型转为int类型。

3、int类型转为float类型。

4、表达式中若有某个操作数为double类型,则其他操作数也转为double类型。

5、boolean不能转为其他类型。

见下面代码中的11、12、17行,11行的表达式计算过程中自动完成了不同类型的数据转换,都转换成了double类型,12行创立了一个double数组,其实是进行了强制类型转换,再进行17行的表达式运算,与11行的运算结果是一样的。

public class transfer
{public static void main(String[] args){char ch='a';short a=-2;int b=3;long c=1000;float d=1.2f;double e=2.34;System.out.println(ch/a-c/b+e/d);double[] demo={ch,a,b,c,d,e};for(int i=0;i<demo.length;i++){System.out.println(demo[i]);}System.out.println(ch/a-c/b+e/d);}
}
/*输出结果
-379.05000007748606
97.0
-2.0
3.0
1000.0
1.2000000476837158
2.34
-379.05000007748606*/

http://www.lryc.cn/news/516923.html

相关文章:

  • 关于Linux PAM模块下的pam_listfile
  • OKHttp调用第三方接口,响应转string报错okhttp3.internal.http.RealResponseBody@4a3d0218
  • 弱电与电力工程领域,如何通过工程项目管理软件提升效率
  • 引领实时数据分析新时代:阿里云实时数仓 Hologres
  • 什么是中间件中间件有哪些
  • css中的部分文字特性
  • PyQt5 UI混合开发,控件的提升
  • IP查询于访问控制保护你我安全
  • SpringBoot数据层解决方案
  • 前端数据模拟器 mockjs 和 fakerjs
  • Python 类 Class
  • PHP语言的并发编程
  • 小米智能哑铃上市,代理 IP 视角下的智能健身新篇
  • 业务日志设计
  • 对话|全年HUD前装将超330万台,疆程技术瞄准人机交互“第一屏”
  • 【论文笔记】QLoRA: Efficient Finetuning of Quantized LLMs
  • 计算机网络之---物理层的基本概念
  • Burpsuite20241102macM1版安装
  • 缓存常见问题
  • C++ 入门第25天:线程池(Thread Pool)基础
  • 微信小程序中的 storage(本地存储)和内存是两个完全不同的存储区域
  • WLAN基本原理与配置
  • KaliLinux 2022.1安装和相关配置
  • HarmonyOS开发:ArkTS初识
  • Unity的四种数据持久化方式
  • 机器学习笔记 - 单幅图像深度估计的最新技术
  • Postman接口测试02|接口用例设计
  • C#语言的学习路线
  • 双目的一些文章学习
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调合并-ms-swift-单机单卡-V100(十三)