0
点赞
收藏
分享

微信扫一扫

Java数据类型的转换

醉倾城1 2022-04-04 阅读 87
java

数据类型的转换

前言:

例:

int a = 10;
long b = 100L;
a = b;//会编译失败.
b = a;//编译通过.

在Java中,参与运算的数据类型不一致时,就会发生类型的转换.

Java中类型的转换主要分为两类:自动转换类型(也称为隐式转换),和强制转换类型(也称显示转换).

文章目录

自动类型转换

自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理,特点:数据范围小的转为数据范围大的时会自动进行。

强制类型转换

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成,特点:数据范围大的转为数据范围小的

1.小类型转为大类型是自动提升的

1.1小类型变变量赋值给大类型时,例:long a = 20;

1.2小类型和大类型进行数学运算时,首先会将小类型提升为大类型而后进行数学运算,

1.2.1 int 和 long 之间转换:

int a = 10;
long b = a + 1L;
	  //int + long = long + long, a 提升为long类型

1.2.2 int 和 double 之间转换:

int a = 4;
double b = 2;
//int / double -> double / double,a 提升为double类型
System.out.println(a/b);

2.大类型转为小类型需要强制类型转换,可能会导致数据精度丢失(数据溢出或部分数据丢失)

2.1 long 和 int 之间转换:

long b = 100L;
//long -> int需要强制类型转换
int c = (int) b;

2.2 double 和 int 之间转换:

double c = 1.0;
//double -> int需要强制类型转换
int d = (int) c;

3.特殊强调

3.1 int 和 byte 之间的转换:

int a = 10;
byte b = (byte)a;//大到小,强转
int c = b;//小到大,自动提升

image-20220404184210950

image-20220404184507286

image-20220404184555787

image-20220404184616894

3.2 int 和 char 之间的相互转换

计算机的内部都是0和1,char字符会按照不同的编码规则转为int存储。

image-20220404185105787

image-20220404185343303

3.2 int 和 String 之间的相互转换

3.2.1 int 转为 String

  1. 直接使用 String类 + (即字符串拼接)
  2. 使用 String 的 ValueoOf 方法

3.2.2 String 转为 int

image-20220404190307343

image-20220404190404210

image-20220404190541868

举报

相关推荐

0 条评论