-
基本类型的类型转换
在Java语言中不同的基本类型的值经常进行相互转换。Java提供7种数值类型可以相互转换,有两种转换方式,自动类型转换、强制类型转换。
自动类型转换
1.数据类型之间的关系图


从左到右是自动类型转换,从右到左是强制类型转换。
1.下面展示自动类型转换

2.+号不仅可以作为加法运算符使用,还可以作为字符串连接运算符使用,代码如下:

强制类型转换
强制类型转换是将右边的类型转到左面的类型,那么久的进行强制类型转换,强制类型转换方法为(targetType)value,强制类型转换的运算符是圆括号(()).当进行强制类型转换时会造成数据的丢失,就好比如一杯水到壶里感觉不到 ,但是一壶水倒杯子里面只存放了一点 ,就容易造成数据丢失。这种转换也叫缩小转换。
1.下面是强制类型转换案例

2.在登录网页时会随机生成一个临时的验证字符串

3.表达式的类型自动提升,当一个算术表达式中包含多个基本类型时,整个算术表达式的数据类型将发生自动提升,在最后赋值的时候用这个算式表达式中最右侧的数值基本类型。代码如下
public class AutoPromote {
public static void main(String[] args){
//定义一个short变量
// short sValue = 5;
//表达式中的svalue将自动提升为int类型,则右边的表达类型为int
//将一个int类型值赋值给short类型变量将发生错误
//sValue = sValue -2;
byte b = 40;
char c = 'a';//在ASCII码中 小写a为97
int i = 23;
double d = .314;
//右边表达式中最高等级操作数为d(double类型)
//则右边表达式的类型为double类型,故赋值给之歌double类型变量
double result = b + c + i + d;
//输出144.222
System.out.println(result);
int val = 3;
//右边表达式中两个操作数都是int类型,故右边表达式类型为int
//虽然23/3不能整除,但依然得到一个int类型整数
int intResult = 23 / val;
System.out.println(intResult);
//输出字符串Hello!a7
System.out.println("Hello!" + 'a' + 7);
//输出字符串104Hello!
//因为 a是数值型97 在ASCII码中A65 小写a97 空格48 7也为数值型 hello为字符串类型 加在一起为字符串
//所以输出为104Hello!
System.out.println('a'+ 7 +"Hello!");
}
}
Java类型转换详解
本文深入探讨Java中的类型转换,包括自动类型转换和强制类型转换的概念与应用。通过实例讲解不同基本类型间的转换过程,以及表达式类型自动提升的规则。
1281

被折叠的 条评论
为什么被折叠?



