栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 因为数据类型导致的运算错误

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 因为数据类型导致的运算错误

原因代码里面的注释已经给出

1、a = a + 1报错:数据类型不兼容,a += 1 可以正常运行

public class JavaDemo04 {
    public static void main(String[] args) {
        byte a = 1;
        //a = a + 1;      //会报错:类型不兼容 , 因为小于int类型的数据类型进行运算时会先转换为int类型  --> int + int -->int != byte        
        a += 1;           //复合赋值运算符,会自动进行强制类型转换,所以不会报错  --> (byte)int
        System.out.println(a);
    }
}

2、b3 = b1+ b2报错:数据类型不兼容, b3 = 1 + 2 可以正常运行

public class JavaDemo {
    public  static void main(String[] args) {
        byte b1 = 1;
        byte b2 = 2;
        byte b3 = (byte)(b1 + b2);  //当变量的数据类型小于int时,会先转换成int在运算,不加上强制转换(byte)会导致报错:类型不兼容    
        byte b4 = 1 + 2;            //如果是常量运算则不会发生这类报错,因为编译器会自动转换常量的数据类型
        System.out.println(b3);
        System.out.println(b4);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号