3.3 数据类型的转换

本文介绍了Java中的数据类型转换,包括自动类型转换和强制类型转换。自动转换在不丢失精度的情况下进行,如short到int。强制转换可能丢失精度,如float到int。在表达式中,整型和浮点型混合运算时,整型会被提升为浮点型。此外,任何数据类型与String结合都会转换为String类型进行连接。
摘要由CSDN通过智能技术生成

3.3 数据类型的转换

数据类型转换方式分为“自动类型转换”和“强制类型转换”。

3.3.1 数据类型的自动转换

也称扩大转换,不影响原先数据定义,且保证精度

条件:1.转换前的数据类型与转换后的类型兼容

           2.转换前的数据类型范围比转换后的小

eg:short——>int,均为整数类型,且int范围更大

package com;

public class DataDemo08 {
    public static void main(String[] args) {
        int x=30;                              //定义整型变量
        float y=22.19f;                        //定义浮点型变量
        System.out.println("x/y="+x/y);        //除法操作
        System.out.println("10/3.5="+10/3.5);  //直接使用常量进行除法
        System.out.println("10/3="+10/3);      //直接使用常量进行除法
    }
}
x/y=1.3519603
10/3.5=2.857142857142857
10/3=3

Process finished with exit code 0

整型和双精度浮点型运算时,Java会把整型转化为双精度浮点型后再计算,计算结果也是双精度浮点型。

提示:任何类型的数据都向String转型。

          1.String可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用“”括起来。两个字符之间可以使用+连接

          2. 任何数据类型碰到String类型的变量或常量之后都向String类型转换

package com;

public class DataDemo09 {
    public static void main(String[] args) {
        int i=1;
        int j=2;
        System.out.println("1+2="+i+j);//碰到字符串常量,所有数据类型默认字符串,+表示字符串连接

        System.out.println("1+2="+(i+j));//加上括号之后,表示输出时先计算相加结果
    }
}
1+2=12
1+2=3

Process finished with exit code 0

 

3.3.2 数据类型的强制转换

因为这种强制转换是直接编写在代码中的,所以又称显示转换。

语法:(要转换的数据类型)变量名称; 

package com;

public class DataDemo10 {
    public static void main(String[] args) {
        float f=30.3f;                               //定义浮点型变量
        int x=(int)f;                                //强制转换为int型
        System.out.println("x="+x);                  //输出转型之后的值
        System.out.println("10/3="+((float)10/3));   //常量计算使用强制类型转换   因为将其中一个整型变量变为了float类型,所以在计算时会强制把其他的整型也变成float类型,所以结果包含小数
    }
}
x=30
10/3=3.3333333

Process finished with exit code 0

范围大的向范围小的转换称为缩小转换,可能丢失精度,因为不会自动转换,必须强制转换 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值