• Java数据类型之间的转换


    java数据类型的转换一般分三种,分别是:
    (1). 简单数据类型之间的转换,在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double

     简单数据类型之间的转换又可以分为:
      ●低级到高级的自动类型转换
      ●高级到低级的强制类型转换
      ●包装类过渡类型能够转换

    低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:
        byte b;
        int i=b;
        long l=b;
        float f=b;
        double d=b;
    如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r
        char c='c';
        int i=c;
        System.out.println("output:" i);
    输出:output:99;

    对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
        short i=99;

        char c=(char)i;

        System.out.println("output:" c);
    输出:output:c;

    但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。

    将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
        int i=99;

        byte b=(byte)i;

        char c=(char)i;

        float f=(float)i;
    可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。 

    1、float型转换为double型:

    float f=100.00f;
    Float F=new Float(f1);

    double f=F.doubleValue();

    2、double型转换为int型:

    double d=100.00;
    Double D=new Double(d);
    int i=D.intValue();

    3、int型转换为double型:

    int i=200;
    double d=i;

    (2). 字符串与其它数据类型的转换

    4、字符串与其它类型间的转换:

    ⑴其它类型向字符串的转换
        ①调用类的串转换方法:X.toString();
        ②自动转换:X+“”;
        ③使用String的方法:String.volueOf(X);

    ⑵字符串作为值,向其它类型的转换
       ①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
         例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。

               也可以用:Double.valueOf(“32.1”).doubleValue()

       ②静态parseXXX方法
         String s = "1";
         byte b = Byte.parseByte( s );
         short t = Short.parseShort( s );
         int i = Integer.parseInt( s );
         long l = Long.parseLong( s );
         Float f = Float.parseFloat( s );
         Double d = Double.parseDouble( s );

       ③Character的getNumericValue(char ch)方法
         具体可查阅api。

    (3). 其它实用数据类型转换

  • 相关阅读:
    OpenCV之设计模式
    ca
    BMP结构详解
    Lucas–Kanade光流算法学习
    卡尔曼
    hash+链表
    文件操作
    查找
    fseek效率
    大家都说3C直连网络,3C网络是指什么呢?
  • 原文地址:https://www.cnblogs.com/leafde/p/3644187.html
Copyright © 2020-2023  润新知