网站首页 > java教程 正文
java开发中经常需要定义一个变量,定义变量时我们需要指定变量的类型,
后面使用中也有可能需要将这个变量类型转换成另一个类型来使用,
这个时候就需要使用类型转换操作。
由于java是强类型语言,也就是说定义这个变量是某个类型,那么它就是这个类型,
不能随便更改它的类型.如果你想改变它的类型的话,我们就需要进行类型的转换.
Java开发中类型转换分为自动类型转换和强制类型转换
提示:不包括boolean类型(因为boolean类型不能转成数字,只有true和false值)
首先来看一下自动类型转换
自动类型转换
也叫隐式类型转换
是指不需要书写代码来转换类型,由jvm (java 虚拟机)来自动帮助转换.
转换规则:
从存储范围小的类型到存储范围大的类型 (可以理解成把字节小的给字节大的)
具体规则: (字节大小)
byte->short(char)->int->long->float->double
自动类型转换示例
示例结果
强制类型转换
也叫显式类型转换
是指必须书写代码才能完成的转换.否则程序会报错
缺点:容易出现精度丢失
转换规则
从存储范围大的类型到存储范围小的类型 (可以理解成把字节大的给字节小的)
具体规则
doublefloatlongintshort(char)byte
语法格式
(转换到的类型)需要转换的值
强制类型转换示例
示例结果
转换操作中需要特别强调一下short类型和char类型之间的转换,由于这两个类型在计算机中所占的都是2个字节,所以他们之间的转换操作如何完成呢?如下示例所示:
可以看到他们之间要完成转换操作都需要强制转换,这是因为而short是16位的带符号整数,存储范围是-32768-32767,char是16位的无符号整数,存储范围是0-65535,所以,两者虽然字长相同,但意义却不一样(表示范围并不完全重合或包含),因此不管是char转换成short,还是short转换成char,都可能“丢失精度”,因此必须强制转换。
- 上一篇: 强制类型转换的注意事项有哪些?
- 下一篇: 二、数据类型转换:
猜你喜欢
- 2024-11-21 Java整数和浮点数类型转换
- 2024-11-21 JavaSE基础之多态的应用场景
- 2024-11-21 第二章:Java数据类型和运算符
- 2024-11-21 int强转为byte类型么?会产生什么问题?
- 2024-11-21 Java接口&异常处理&类型转换
- 2024-11-21 详解 Java 17 中的模式匹配(Pattern Matching)
- 2024-11-21 Java基本数据类型之间的转换规则
- 2024-11-21 关于Java String 类型转换时null的问题
- 2024-11-21 [JAVA冷知识]什么是逆变与协变?数组是否支持协变&逆变?泛型呢?
- 2024-11-21 看完后让你成为武松,手把手教你打死Java中的纸老虎
你 发表评论:
欢迎- 最近发表
-
- Java内存溢出紧急处理:10个必知的Linux命令快速定位OOM
- 面试常问的 25+ 个 Linux 命令(linux面试命令大全)
- Java堆外内存溢出紧急处理实战:Linux命令定位与Spring Boot解决
- java开发常用的Linux命令,高频的没你想象的多
- Java 应用 CPU 飙升?8 个 Linux 命令组合拳快速锁定异常线程
- Java 开发者线上问题排查常用的 15 个 Linux 命令
- Java程序员必备的Linux命令:让你的工作效率翻倍
- Java程序员必备的Linux命令全解析
- [超全整理] Java 程序员必备的 100 条 Linux 命令大全
- SAP ABAP资源导航(sap aatp)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)