4.Java数据类型转换

1.变量的使用规则:

在满足程序需求的情况下,我们尽量选取小的数据类型,减少内存空间

2.数据类型转换的两种方式

*  小的数据类型==========>大的数据类型  (自动转换数据类型)

*  大的数据类型==========>小的数据类型  (强制转换数据类型)

*

* 注意点:

*

*  在byte,short,char在数据类型转换的时候,都是默认Int的数据类型去执行的数据类型

*

*  注意点: (都是以补码的形式表示的)

*    最高位为1的时候表示为负数 如:1111111100111  (负数)

*    最高位为0的时候表示为正数 如:0000000010011  (正数)

*    原码的由来:

*    负数的决定值,然后得到绝对值的二进制数就是 => 原码

*    原码减去-1得到的,然后取反就得到了 => 反码

*    -24的表示方法

*    1.第一步,写出24的二进制表示,011000;

*    2.第二步,取反,100111;

*    3.第三步,加1,101000;

*    4.第四步,得出结论,-24 = 101000。

口决:

正负数看最高位,最高为1为负数,0为正数

正负数转换方式:原码+取反+1===本身

3.自动转换数据类型:

如下:

System.out.println("数据类型转换=====>自动转换数据类型");

byteb =10;

shortc = b;

intd = c;

longf = d;

System.out.println(f);

4.强制转换数据类型

//强制转换数据类型 (默认的情况是byte都是转成int的数量类型进行转换的)

System.out.println("数据类型转换====>强制转换数据类型");

inth =10;

byteg = (byte)h;

System.out.println(h);

intaa =10;

intbb =10;

bytecc = (byte)( aa + bb);

System.out.println(cc);

//这里要注意下 如果超过了byte的内存的范围 -128-127的范围 ,128超过了byte的范围了

intdd =128;

byteff = (byte) dd;

System.out.println(ff);

//a = 97  注意在码表中a对应的就是97,在默认情况下byte,short,char都是为Int的形式去执行数据运算的

chara ='a';

System.out.println(a+1);

//java在编译的时候不会创建内存空间 java 命令,只有在运行的时候才会去创建内存空间,javac命令,在检测常量的时候可以检测数值超过了数据的内存范围了,变量则是不会的

inti =128;

bytezz = (byte)i;

System.out.println(zz);

你可能感兴趣的:(4.Java数据类型转换)