public class DataTypeTest05
{
public static void main(String[] args){
//100L是long类型字面值 x是long类型变量
//不存在类型转换,直接赋值
long x = 100L;
//x变量是long类型,8字节
//y变量是int类型,4字节所以编译报错
//大容量不能直接赋值给小容量
int y = x;
System.out.println(y);
//大容量要强制转换成小容量加强制类型转换符
//这样可以编译通过但是运行阶段可能会损失精度
//强转原理:将左边的二进制砍掉
byte b = 50;
byte c = 127;
//依照目前所学内容,一下程序编译是无法通过的
//50是int类型的字面值,b是byte类型的变量
//显然是大容量换成小容量byte
//大容量换小容量是要经过强制类型转换
//但是实际编译时以上代码编译通过,原因是整数型字面值
//没有超过byte类型的取值范围的话
//该字面值可以直接赋值给byte类型的变量
//byte b1 = 128;
//编译报错超出范围 强制类型转换符转换损失精度
byte b1 = (byte)128;//128
System.out.println(b1);
/*
计算机二进制有三种 表示方式:
原码、反码、补码
计算机在任何情况下底层表示和储存数据的时候采用了补码形式
正数的补码和原码相同
负数的补
浮点型、布尔型数据类型以及关于基本数据类型之间的相互转换规则
最新推荐文章于 2024-07-12 15:51:39 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)