数据类型及基本数据类型转换

数据类型

基本数据类型的转换

基本数据类型中的 int (4字节) 和 double (8字节)是默认的数据类型

类型的自动提升

public class DataTypeDemo1 {
    public static void main(String[] args){
        byte byteNum1 = 10;
        byte byteNum2 = 22;
        byte sum = byteNum1 + byteNum2;
    }
}
/* 上面的写法会报错:
*  DataTypeDemo1.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
*  这是因为java自动的类型提升所导致的,以防止出现不安全的情况如 "127 + 1"超出了byte的存储范围 
*/


/*
*   只需将 sum 的数据类型改为 int 就好了
*/
public class DataTypeDemo2 {
    public static void main(String[] args){
        byte byteNum1 = 10;
        byte byteNum2 = 22;
        int sum = byteNum1 + byteNum2;
    }
}

数据类型的强制转换

强制转换的格式
aimDataType newVal = ( aimDataType )( oldVal )

  • 在范围内情况
public class DataTypeDemo3 {
    public static void main(String[] args){
        byte byteNum1 = 10;
        byte byteNum2 = 22;
        byte sum = (byte)(byteNum1 + byteNum2);
    }
}
// byteNum1 + byteNum2 = 32, 32在byte的范围内
  • 超出范围情况
public class DataTypeDemo4 {
    public static void main(String[] args){
        byte byteNum1 = 127;
        byte byteNum2 = 1;
        byte sum = (byte)(byteNum1 + byteNum2);
        System.out.println(sum);
    }
}
//运行结果: -128
/*  上述值转换前为 128,已超出byte(1字节)的储存范围,下面是转换过程分析:
   (int)128 补码:00000000 00000000 00000000 10000000
   (byte)补码:10000000
    => -128
*/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 842评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,174评论 18 399
  • 变量: 声明变量名:格式一:数据类型 变量名;格式二:变量名1,变量名2··········;java中的八种基...
    冰天雪地_6409阅读 325评论 1 0
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,701评论 0 4
  • 2016年11月10日 星期三 晴 睁开双眼,转头,打开手机看了时间,和屏幕壁纸的他说声么么哒,输入用他生日做的...
    嘉爱佐鸣唯爱鼬神阅读 624评论 1 1

友情链接更多精彩内容