java 基本类型的类型转换

  • 基本类型的类型转换

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

    自动类型转换

1.数据类型之间的关系图

java 基本类型的类型转换java 基本类型的类型转换

从左到右是自动类型转换,从右到左是强制类型转换。

1.下面展示自动类型转换

java 基本类型的类型转换

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

java 基本类型的类型转换

强制类型转换

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

1.下面是强制类型转换案例

 

java 基本类型的类型转换

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

java 基本类型的类型转换

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!");
    }
}