Java中数据转换以及字符串的“+”操作

ops/2024/10/18 21:01:48/

隐式转换(自动类型转换)

较小范围的数据类型转成较大范围的数据类型

强制转换(显式转换)

数据范围大的数据类型转换为数据范围小的数据类型

基本数据类型之间的转换

当需要将一个较大的数据类型(如floatdouble)转换为一个较小的数据类型(如intbyte)时,由于精度的损失,Java要求显式强制转换。例如:

java">double d = 9.78;int i = (int) d; // 强制转换,结果是9(小数部分被截断)

2. 引用类型之间的转换

在对象类型的转换中,可以将子类对象引用赋值给父类引用(隐式),但如果想要将父类引用赋值给子类引用,则需要进行强制转换。强制转换需要确保实际对象是目标类型的实例,否则会抛出

java">ClassCastException。class Animal {} 
class Dog extends Animal {} 
Animal animal = new Dog(); // 隐式转换 
Dog dog = (Dog) animal; // 强制转换

 3. 注意事项

  • 类型安全性:在进行强制转换时,必须确保对象的实际类型与转换后的类型相符。例如,将一个Animal对象强制转换为Dog类型,如果该对象实际上是Cat,则会导致运行时错误。
  • 使用instanceof检查:为了避免ClassCastException,可以使用instanceof运算符来检查一个对象是否是某个类型的实例:
java">if (animal instanceof Dog) { // 判断animal是否可以强转为Dog
Dog dog = (Dog) animal; // 安全的强制转换
}

字符串的“+”操作

只要是运算式里面有字符串,那么“+”操作就是拼接,得到的就是字符串

java">"123" + 123 --> 得到123123// 连续加:从左到右依次运算
1 + 99 + "hello world" + 1 + 2 --> 得到"100hello world12"

字符相加 

java">char a = 'A';  
char b = 'B';  
int result = a + b; // result 是 130(65 + 66)
java">char a = 'A';  
char b = 1; // b 表示增加的偏移量  
char result = (char) (a + b); // result 是 'B'


http://www.ppmy.cn/ops/121960.html

相关文章

从WIFI到NB-IoT,探秘智能门锁的高科技接入方式

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! Hello大家好!我是小米,一个29岁、活力满满、热爱分享技术的小米!今天,我想和大家聊聊一个与智能家居密切相关的技术话题——智能门锁的接入方式。无…

2024年OpenAI DevDay发布实时 API、提示缓存等新功能

就在几天前,一些重要人物如前 CTO Mira Murati 离开了 OpenAI。因此,看到 Sam Altman 在 DevDay 上登台,讨论开发者的新产品,感觉有点奇怪。 随着公司内部的这些变化,你不禁会想:我们还应该信任他吗&#…

如何快速切换电脑的ip地址

在当今的数字化时代,IP地址作为网络身份的重要标识,其重要性日益凸显。无论是出于保护个人隐私的需要,还是为了访问特定的网络服务等,快速切换电脑的IP地址已成为许多用户的迫切需求。本文将为你介绍几种实用的方法,帮…

Android 内存优化:什么原因导致内存问题?通过内存工具进行分析;内存抖动和内存泄漏;MAT的使用;Profiler的使用;如何优化?

目录 一、为什么要进行内存优化呢? 我们开发一个App程序,如果不了解内存的使用情况,就是将稳定性弃之不管。因为你不知道他在什么时候会发生OOM问题,不知道为什么程序会卡顿,不知道为什么会发生问题。你也没有自信跟别…

Java抽象类+接口

文章目录 1.抽象类的介绍1.1抽象类的特点1.2多态的体现1.3多重继承是方法的重写 2.接口2.1接口的特性2.2接口示例2.3单个接口2.4多个接口2.5sort排序的接口comparable2.6使用接口实现冒泡排序2.7comparator接口更加灵活的管理2.8我的心得 1.抽象类的介绍 1.1抽象类的特点 1&a…

S7-200 SMART Modbus RTU常见问题

1.S7-200 SMART 是否支持 Modbus ASCII 通信模式? STEP 7-Micro/WIN SMART 软件未提供Modbus ASCII 通信模式指令库。S7-200 SMART CPU若用于Modbus ASCII 通信时,则需要用户使用自由口通信模式进行编程。 2.S7-200 SMART CPU 集成的RS485 端口&#xf…

MySQL事务日志—redo日志介绍

MySQL事务日志—redo日志 事务有4种特性: 原子性、一致性、隔离性和持久性。 那么事务的四种特性到底是基于什么机制实现? 事务的原子性、一致性由事务的 undo 日志事务的隔离性由锁机制和MVCC实现。事务的持久性由redo 日志来保证。 两类日志概述:…

Vue组件库Element-ui

Vue组件库Element-ui Element是一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库。Element - 网站快速成型工具 安装element-ui npm install element-ui # element-ui版本(可以指定版本号引入ElementUI组件库,在main.js中添加内容得到&…