java 基本类型的类型转换

本文深入探讨Java中的类型转换,包括自动类型转换和强制类型转换的概念与应用。通过实例讲解不同基本类型间的转换过程,以及表达式类型自动提升的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 基本类型的类型转换

     在Java语言中不同的基本类型的值经常进行相互转换。Java提供7种数值类型可以相互转换,有两种转换方式,自动类型转换、强制类型转换。

    自动类型转换

1.数据类型之间的关系图

从左到右是自动类型转换,从右到左是强制类型转换。

1.下面展示自动类型转换

2.+号不仅可以作为加法运算符使用,还可以作为字符串连接运算符使用,代码如下:

强制类型转换

 强制类型转换是将右边的类型转到左面的类型,那么久的进行强制类型转换,强制类型转换方法为(targetType)value,强制类型转换的运算符是圆括号(()).当进行强制类型转换时会造成数据的丢失,就好比如一杯水到壶里感觉不到 ,但是一壶水倒杯子里面只存放了一点 ,就容易造成数据丢失。这种转换也叫缩小转换。

1.下面是强制类型转换案例

 

2.在登录网页时会随机生成一个临时的验证字符串

3.表达式的类型自动提升,当一个算术表达式中包含多个基本类型时,整个算术表达式的数据类型将发生自动提升,在最后赋值的时候用这个算式表达式中最右侧的数值基本类型。代码如下

public class AutoPromote {
    public static void main(String[] args){
        //定义一个short变量
      //  short sValue = 5;
        //表达式中的svalue将自动提升为int类型,则右边的表达类型为int
        //将一个int类型值赋值给short类型变量将发生错误
        //sValue = sValue -2;
         byte b = 40;
         char c = 'a';//在ASCII码中  小写a为97
         int i = 23;
         double d = .314;
         //右边表达式中最高等级操作数为d(double类型)
        //则右边表达式的类型为double类型,故赋值给之歌double类型变量
        double result = b + c + i + d;
        //输出144.222
        System.out.println(result);
         int val = 3;
         //右边表达式中两个操作数都是int类型,故右边表达式类型为int
        //虽然23/3不能整除,但依然得到一个int类型整数
        int intResult = 23 / val;
        System.out.println(intResult);
        //输出字符串Hello!a7
        System.out.println("Hello!" + 'a' + 7);
        //输出字符串104Hello!
        //因为 a是数值型97 在ASCII码中A65 小写a97 空格48 7也为数值型 hello为字符串类型 加在一起为字符串
        //所以输出为104Hello!
        System.out.println('a'+ 7 +"Hello!");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值