数据类型的转换

作者: 冰天雪地_6409 | 来源:发表于2017-11-01 13:40 被阅读9次

    变量:

    声明变量名:
    格式一:数据类型 变量名;
    格式二:变量名1,变量名2··········;
    java中的八种基本数据类型
    整数
    byte(字节) 8bit
    short(短整型) 16bit
    int(整型) 32bit
    long(长整型) 64bit
    小数
    float(单精度浮点型) 32bit
    double(双精度浮点型) 64bit
    布尔
    boolean 一个字节或者是四个字节,只有两个值true,false
    字符
    char 2个字节
    变量选用原则:在能够满足需求的前提下,能使用小类型数据类型就是用小的数据类型,节省空间。
    数据类型的转换:
    小数据类型···········>大数据类型 自动转换
    大的数据类型·············>小的数据类型 强制转换

      强制类型转换格式:
            小数据类型  变量名=
    

    ///
    class Demo2
    {
    public static void main(String[] args)
    {
    byte b=12;
    short s=b;
    int i=s;
    long l=i;
    System.out.println(l);
    }
    }

    int i=128;(超出范围)//4个字节
    byte b=(byte)i;//把i变量储存的值赋予给b 强制类型转换
    System.out.println(b);//-128
    */
    ///

    负数在计算机是如何存储的
    负数的最高位是1,正数的最高位是0
    负数在计算机中储存的是补码

    -7············存储的二进制:11111001

    ※补码的运算步骤;
    1.先获取负数的绝对值,然后得到绝对值的二进制(原码)
    2.原码取反(反码)
    3.反码+1=补码
    7 00000111(原码)
    取反
    11111000(反码)+00000001=11111001(补码)
    ※由补码取原码步骤

    (补码) 10000000-0000001=01111111
    取反 1000000 -128

        byte b1=1;
        byte b2=2;
        byte b3=b1+b2;
        System.out.println(b3);//报错
    

    解决方案:最后一个byte改成int
    或byte b3=(byte)(b1+b2)
    数据类型转换要注意的细节:
    1.凡是byte、short、char数据类型数据在运算的时候,会自动转换成int类型在运算的。

    2.两个不同数据类型的数据在运算的时候,结果会取大的数据类型烦人数据。
    int i=10;
    long l=20;
    int sum=(int)(i+l);
    System.out.println(sum);
    //3.
    System.out.println('a');//98 相当于int类型

    int i=10;
    java编译器在编译的过程中可以监测到一个常量的值而不能检测到变量的值,因为一个变量在java虚拟机运行到该变量语句的时候才在内存中开辟对应的空间,编译的时候并不会开辟内存空间。
    byte b=10;
    System.out.println(b);

    相关文章

      网友评论

      • 司鑫:可以的,建议你可以试着用markdown语法的格式来写简书蛤。

      本文标题:数据类型的转换

      本文链接:https://www.haomeiwen.com/subject/sblipxtx.html