Java ——类型转换 向args传递参数

本节重点思维导图

 自动类型转换

整型、实型(常量)、字符型数据可以混合运算

运算中,不同类型的数据先转化为同一类型,然后进行运算

转换从低级到高级

低  ------------------------------------>byte,short,char—> int —> long—> float —> double 

 

 

自动类型转换

必须满足转换前的数据类型的位数要  低于    转换后的数据类型

例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。

public class Demo {
    public static void main(String[] args) {
        char c1='a';//定义一个char类型
        int i1 = c1;//char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于"+i1);
        char c2 = 'A';//定义一个char类型
        int i2 = c2+1;//char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"+i2);
    }
}

结果: 

解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66。

char自动类型转换为int后的值等于97
char类型和int计算后的值等于66

强制类型转换

  • 1. 条件是转换的数据类型必须是兼容的。

  • 2. 格式:

    类型变量1 = 类型1变量2;

public class Demo {
    public static void main(String[] args) {
        int i = 128;
        byte x = (byte) i;
        System.out.println("128-->"+x);
        int ii = 127;
        byte xx = (byte) ii;
        System.out.println("127-->"+xx);
        int j = 256;
        byte x2 = (byte) j;
        System.out.println("256--> "+x2);
    }
}

结果:

128-->-128
127-->127
256--> 0

 向args传递参数

数据类型转换的补充

包装类过渡类型转换

一般情况下,我们首先声明一个变量然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换

例如:希望把float型转换为double型

float f1=100.00f;
Float F1=new Float(f1);
double d1=F1.doubleValue();//F1.doubleValue()为Float类的返回double值型的方法

简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)

而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据

利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量

原文地址:https://www.cnblogs.com/expedition/p/10831435.html