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

【Java】类型转换与类型提升

目录

1.类型转换

1.1自动类型转换(隐式)

1.2强制类型转化(显式)

2.类型提升

3.字符串类型


1.类型转换

Java作为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有教严格的校验.

在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式)和强制类型转换(显式)。

1.1自动类型转换(隐式)

自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。

1.2强制类型转化(显式)

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。
 

//示例
long a=10;
int b=(int)a;//long->int需要强制转换

注意事项:
1.不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型
2.如果需要把范围大的类型赋值给范围小的,需要强制类型转换,但是可能精度丢失
3.将一个字面值常量进行赋值的时候, Java会自动针对数字范围进行检查
4.强制类型转换不- -定能成功,不相干的类型不能互相转换

 

2.类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。

1. int与long之间: int会被提升为long


2.bytebyte的运算

结论 : byte byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误.
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算
正确的写法:
类型提升小结 :
1. 不同类型的数据混合运算 , 范围小的会提升成范围大的 .
2. 对于 short, byte 这种比 4 个字节小的类型 , 会先提升成 4 个字节的 int , 再运算 .

3.字符串类型

Java 中使用 String 类定义字符串类型,比如:
在有些情况下,需要将字符串和整形数字之间进行转换:
1. int 转成 String
2. String 转成 int


http://www.mrgr.cn/news/48104.html

相关文章:

  • Android模拟器-模拟点击事件测试
  • 什么是WebAssembly?怎么使用?
  • oracle怎样使用logmnr恢复误删除的数据
  • 谱聚类中拉普拉斯矩阵证明
  • 使用Excel制作通达信自定义外部数据,安排!!!
  • 智慧社区电子商务系统:实现社区资源的数字化管理
  • Spring Boot 中 Bean 的机制详解
  • QInputDialog Class
  • 364_C++_通过类型定义、数组、指针、std::vector和内存复制来管理多个通道的记录数据
  • 养宠人崩溃的季节又到了,有什么吸浮毛宠物空气净化器推荐?
  • 多个pdf怎么合并成一个pdf?几个方法教你快速进行pdf合并不求人
  • V神应被提名诺贝尔经济学奖?以太坊对货币经济学的贡献无可取代?
  • Linux云计算 |【第四阶段】RDBMS2-DAY5
  • redis概述
  • MIDIPLUS 50周年丨中国国际乐器展览会首日盛况
  • 【笔记】Day1.1.24代码debug测试
  • 高可用之限流-04-fixed window 固定窗口
  • MES系统中人机接口设计和开发研究
  • Pyke学习系列(pyke基础执行)(一)
  • Spring Boot 日志打印配置详解
  • 【C语言】自定义类型:联合体和枚举
  • C++编程:利用ARM硬件加速CRC32计算
  • vue基础语法的用法(API组合式风格)
  • maven
  • 小白萌新 JSAR 开发者工具之初体验——好用!
  • 《市场营销学》PPT课件.ppt