博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】Java_09 类型转换
阅读量:7092 次
发布时间:2019-06-28

本文共 1191 字,大约阅读时间需要 3 分钟。

1.自动类型转换

自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。

 特例可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

            Short  b = 12;     //合法

            short  b = 1234567;    //非法

2.强制类型转换(Cast

 

强制类型转换,又被称为造型,用于显式的转换一个数值的类型在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。

 

强制类型转换的语法格式:“(type)var”,运算符“()”中的type表示将值var想要转换成的目标数据类型

 

当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值

 

3.基本类型转化时常见错误和问题

 

操作比较大的数时,要留意是否溢出,尤其是整数操作时(详细请见代码)

代码示意:

public class TestCastType{    public static void main(String[] agrs){        //转型        byte a = 100;        //超过byte的范围,精度损失错误        //byte b = 300;        //char c = -3;        char d = 'A';        int e = d;        System.out.println(d);        System.out.println(e);                //测试强制转型        int f = -100;        char g = (char)f; //-100已经超过char的表数范围,所以转换成完全不同的值        System.out.println(g);                //类型提升 做所有的二元运算符(+-/*%),都会有类型提升的问题        int c1 = 100;        long c2 = 200;        long c3 =(long)(c1+c2);//不做类型转换则会报错:精度损失                         //一个活80岁的人一辈子脉搏的跳动次数        int times = 75;        long total = 75L*60*24*365*80;        System.out.println(total);        //特别说明:在转型时候最好在75后面就强制转换为long,避免在数据相乘过程中超过表数范围造成转型失败    }}

 

转载地址:http://ymnql.baihongyu.com/

你可能感兴趣的文章
MikroTik RouterOS-常用配置命令
查看>>
LVS DR + Keepalived 负载均衡配置详解(测试篇)
查看>>
Linux命令详解
查看>>
Quartz Job Scheduling Framework Reading Note(四)
查看>>
DN启动“假死?”
查看>>
结合Resumable.js实现在Server端PHP支持的大文件上传、断点续传功能
查看>>
PCL点云特征描述与提取(1)
查看>>
【HIMI转载推荐之三】基于Cocos2dx引擎UI扩展引擎包[cocos2d-x-3c] 转载xiaominghimi
查看>>
Oracle Weblogic 之---字符安装全记录
查看>>
JVM初探 -JVM内存模型
查看>>
Prisma推出2B业务,你的App也能用上最红的爆款滤镜了!
查看>>
.NET Framework 3.5 SP1安装时下载文件问题及精简方法
查看>>
[Offer收割]编程练习赛3 - 题目3 : 智力竞赛
查看>>
暴搜 - Codeforces Round #327 (Div. 2) E. Three States
查看>>
W32TM注册time.windows.com作为权威时间同步源
查看>>
vsphere5.1.vSphere_5.0简介. 第二第三部分视频共享
查看>>
Centos 5 配置nagios监控系统
查看>>
需求管理之如何撰写优秀的需求
查看>>
文本文件与二进制文件
查看>>
Linux 基础 - 磁盘管理 -04
查看>>