小白学Java第二课补充内容

本文详细介绍了自动类型转换和强制类型转换的概念及其应用。自动类型转换允许数据从容量较小的类型自动转换为容量较大的类型,而强制类型转换则是在可能发生信息丢失的情况下进行的显式转换。文章还提供了测试代码示例来演示这两种类型的转换。

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

1、自动类型转换
自动类型转换是指容量小的数据类型自动向容量大的数据类型转换。可以将整型常量直接赋值给byte,chort,char等类型,不需要强制转换,只要不超过其表数范围即可。
int,long类型转换为float,double类型可能会有精度损失。
测试自动类型转换:

        int a =333;
        long a1 =a;
        double a2 =a1;
       // a=a1;   a1为long类型容量比int大所以出错
        //long a3 =3.23;    float double全都比long类型容量大
        float f=232321L;
        //特例
        byte a4=123;//注意不能超过byte表示范围

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

测试强制类型转换:

        double p=3.14;
        int np =(int)p;//值为3
        char s ='c';
        int s1 =s+1;
        System.out.println(np);
        System.out.println(s1);
        System.out.println((char)s1);

在这里插入图片描述
常见错误
当操作的数较大时,留意是否溢出。
注意一些字母小写时与数字相像,尽量避免使用。

测试:

        int m = 1000000000;
        int month =12;
        int z =m*month;
        System.out.println(z);
        //返回z为负值,超过了int的范围
        long z1 =m*month;
        System.out.println(z1);
        //返回z为负值,默认为int类型,超过了int的范围
        long z2 =(long)m*month;
        System.out.println(z2);
        //先将一个因子变成long,整个表达式发生提升,全部用long计算

在这里插入图片描述
小小补充,关于scanner的使用:
相关代码:

        Scanner sc =new Scanner(System.in);//记得导包,注意大小写
        System.out.println("请输入姓名");
        String name =sc.nextLine();
        System.out.println("请输入专业");
        String z =sc.nextLine();
        System.out.println("请输入班级");
        int g =sc.nextInt();

        System.out.println("############");
        System.out.println(name);
        System.out.println(g);
        System.out.println(z);

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值