02.强制类型转化
Posted W-forever
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02.强制类型转化相关的知识,希望对你有一定的参考价值。
数据类型转化
小的数据类型可以转化为大的数据类型,自动类型转化
class demn{
public static void main(String[] args){
byte b = 11;//一个字节
short s = b;//2个字节
int i = s;//4个字节
long l = i;//8个字节
System.out.println(l);
}
}
大的数据类型转化为小的数据类型,强制类型转化,否则丢失精度
强制类型转化的格式:
小数据类型 变量名 = (小数据类型)大数据类型
class demn{
public static void main(String[] args){
int i = 128;
byte b = (byte) i;
Syetem.out.println(b);//-128,负数是通过补码的形式存储的,先通过补码转化为原码,再求范围
System.out.println(Integer.toBinaryString(-7));
byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;//丢失精度
byte b3 = (byte)(b1 + b2);
System.out.println()
System.out.println(\'a\' + 1);
int i = 10;
long l = 20;
i = (int)(i + l);
System.out.println(i);
byte b = 10;//一个整数没有加任何标识的时候,默认是int类型的数据
System.out.println(b);//不报错
//10是一个常量,编译器在编译的时候能够确认常量的值,java编译器会检测到10并没有超出byte的范围,所以允许赋值
int i = 10;
byte c = i;
System.out.println(b);//java编译器在编译的时候并不能确定变量所存储的值
}
}
数据类型转化要注意的一个细节
1. 凡是byte,short,char数据类型的数据在运算的时候都会转化为int类型的数据再进行运算
2. 两个不同的数据类型在运算的时候结果取决于大的数据类型
以上是关于02.强制类型转化的主要内容,如果未能解决你的问题,请参考以下文章