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);