资讯专栏INFORMATION COLUMN

基本类型的类型转换(隐式类型转换)和强制类型转换(译二)

BDEEFE / 3093人阅读

摘要:基本类型的类型转换隐式类型转换和强制类型转换基本类型的强制转换所谓强制类型转换是根据程序员的意志来进行类型变换的处理。将变量转换为存储领域强制转换为更窄的场合,待变换的数据可能发生溢出。强制转换数据溢出运行结果更新日

基本类型的类型转换(隐式类型转换)和强制类型转换 基本类型的强制转换

所谓强制类型转换(CAST)是根据程序员的意志来进行类型变换的处理。如果隐式类型转化无法进行的场合,使用强制类型转换。用“( )”包围需要强制转换的类型,然后将其放在需要转换的变量之前。

(変換したい型)変換元の変数;

【例3】强制转换的例子。

int x = 10;
byte y = (byte)x;

将int类型的变量强制转换为byte类型,然后赋值给y。
如果是默认的隐式类型转换是无法将int类型转换为byte类型的。

强制转换的规则

boolean类型以外的基本类型的变量可以强制转换为其他非boolean类型的基本类型的变量。不管是将变量强制转换为存储区域更大的类型,还是将变量转换为存储区域更小的类型,都是可以。将变量强制转换为存储区域更大的时候,即使不进行强制转换,隐式的类型变换也是可以进行的。

boolean类型无法强制转换为其他类型。
将变量转换为存储领域强制转换为更窄的场合,待变换的数据可能发生溢出。

【例4】强制转换数据溢出的实例。

public class ExVar1 {
    public static void main(String[] args) {
        short x = 257;
        byte y = (byte)x;  //(1)强制转换为byte类型
        System.out.println(y);  //(2)
    }
}

说明4
(1)将short类型的变量强制转换为byte类型,然后将byte类型变量赋值给y。
(2)用println方法打印变量y的值。byte类型的变量最多制定存储一个字节的值(有符号,-128~127)。超过1个字节的数据被截断(数据溢出)。因为这个原因无法得到想要的结果。

强制转换_数据溢出
运行结果4

D:JAVA>javac ExVar1.java
                                                
D:JAVA>java ExVar1
1

D:JAVA>

更新日:2012/02/18

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68561.html

相关文章

  • 基本类型类型转换隐式类型转换强制类型转换(译一)

    摘要:基本类型的类型转换和强制类型转换一的变量类型分为种。目录基本类型的类型转换隐式类型转换基本类型的强制类型转换基本类型的类型转换隐式类型转换基本类型的类型转换是通过扩展转换的规则完成的。 基本类型的类型转换和强制类型转换(一) Java的变量类型分为2种。基本类型(原始类型)和引用类型。基本类型包括以下八种类型:boolean、 char、byte、short、int、long、floa...

    pcChao 评论0 收藏0
  • JavaScript基础---强制类型转换

    摘要:如果有并且返回基本类型值,再使用该值进行强制类型转换。四宽松相等和严格相等允许在相等比较中进行强制类型转换,而不允许。这时最好用来避免不经意的强制类型转换。这两个原则可以让我们避开几乎所有强制类型转换的坑。 一、类型转换规则 1.ToString 对于普通对象来说,除非自行定义toString方法,否则就会调用Object.prototype.toString()方法,如果对象有自己的...

    lufficc 评论0 收藏0
  • JavaScript 强制类型转换

    摘要:强制类型转换作为程序员,你一定获取过当前系统的时间戳。比如对于变量而言,此次强制类型转换是隐式的。然而则是非常典型的显式强制类型转换。隐式强制类型转换大部分被诟病的强制类型转换都是隐式强制类型转换。 JavaScript 强制类型转换 作为 JavaScript 程序员,你一定获取过当前系统的时间戳。在 ES5 引入 Date.now() 静态方法之前,下面这段代码你一定不会陌生: v...

    OnlyLing 评论0 收藏0
  • JavaScript数据类型及(隐式)类型转换详解

    摘要:显示的调用转换过程称为显式强制类型转换,隐式的情况称为隐式强制类型转换。隐式强制类型转换让代码变得晦涩难懂而又便捷而奇妙。事实上,允许在比较中进行强制类型转换,而不允许。如果有并且返回基本类型值,就使用该值进行强制类型转换。 JavaScript是一种非常灵活的现代编程语言,灵活到使用者极其容易被忽视的它那广阔的世界以及它带给我们的无限遐想空间。本文将对JavaScript最最基础也最...

    hiyayiji 评论0 收藏0
  • 重学JS: 隐式强制类型转换

    摘要:隐式强制类型转换指的是那些隐藏的强制类型转换,副作用也不是很明显,事实上,只要自己觉得不够明显的强制类型转换都可以算作隐式强制类型转换,接下来,此文将会介绍几种常见的隐式类型转换。 隐式强制类型转换指的是那些隐藏的强制类型转换,副作用也不是很明显,事实上,只要自己觉得不够明显的强制类型转换都可以算作隐式强制类型转换,接下来,此文将会介绍几种常见的隐式类型转换。 加法操作符 转换规则: ...

    Fourierr 评论0 收藏0

发表评论

0条评论

BDEEFE

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<