强制类型转换

强制类型转换:
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译前将会自动隐含的为我们不上一个强制类型转换

  1. 如果没有超过左侧范围,编译器补上强转

  2. 如果右侧超过左侧范围,那么编译前报错

  3. 特点:代码需要进行特殊格式的处理,不能自动完成

  4. 格式:范围小的类型范围小的变量名=(范围小的类型)原本范围大的数据
    Int num=(int)100L;
    //左边是int类型,右边是long类型
    //long–>int long的范围更大,不符合从大到小的规则(因此不能进行自动类型转换)
    //套用语法格式,进行强制类型转换
    Ps:因为100本来就能又int类型表示,只不过因为类型的不同,导致其必须转换,进行的只是类型的转换,若一个数不能由int类型转换而强转的话会出现数据的溢出
    注意事项:

  5. 强制类型转换一般不推荐使用,因为有可能会出现精度损失、数据溢出。//int num1=(int)3.99;
    显示为3(精度损失)

  6. byte/short/char这三中都可以发生数学运算,例如“+”。
    //char zifu1=’A’;
    //System.out.println(zifu1+1);//这是因为A换成了ASCII码

  7. byte/short/char这三种类型在运算的时候,都会首先提升为int类型,然后计算。//byte num=40;byte num1=50;byte result=num+num1;System.out.prinln(result+1);//这样会显示不兼容类型;从int转换到byte可能会有损失
    /解决方法:int result=num4+num5;

  8. Char类型的’A’转换成int类型自动转换成65因为使用的是AscII码。A的ACSII为65

  9. ‘0’48‘A’65‘a’97

Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符。

要记住的特殊ASCll:
48—>‘0‘ 65—>‘A’ 97—>‘a’

1.将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,要格外注意。
2.将大的放进小的里面,使用强制类型转换,会出现溢出的情况。
字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。
如:String a=“43”;int i=Integer.parseInt(");
3.Int的包装类为integer double的包装类为Double
4.类名直接调用的方法为静态方法。
5.boolean类型不可以转换为其它的数据类型

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值