欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第六节 类型转换

程序员文章站 2022-06-08 08:29:09
...

同类型之间转行

精度小的可以往精度大的转换。
从大到小顺序
double > float > long > int > short(char) > byte

隐式转换

低精度往高精度转换

byte b = 3;
int c = b;

唯一的缺点就是浪费精度。
上述byte b=3;一个字节在农村中,转换成int,然而int是4个字节相当于3个字节浪费了。

强制转换

高精度转低精度要强制转换
第六节 类型转换

强转语法:

目标类型变量=(目标数据类型)源数据

 byte b = a;
 //所以要强转
 byte c = (byte) a;

这种强制转换可能会导致精度损失,比如

如下是没问题:

 public static void main(String[] args) {
        int a = 127;
        byte c = (byte) a;
        System.out.println("a = "+ a);
        System.out.println("c = "+ c);
    }

打印结果

a = 127
c = 127

如下就有问题:

 public static void main(String[] args) {
        int a = 128;
        byte c = (byte) a;
        System.out.println("a = "+ a);
        System.out.println("c = "+ c);
    }

打印结果:

a = 128
c = -128

结论或导致精度减少。因为byte范围是-128-127之间。

不同类型之间转换

java中对八种基本有对应的包装类,通过类有对应的方法,可以将String数据转换成基本数据类型。

第六节 类型转换

String 转基本数据

static :有static修饰的方法直接通过类名调用。
语法:类名.方法名();
比如String转:

  String a = "12";
  int b = Integer.parseInt(a);
       Integer.parseInt("");
       Byte.parseByte("");
       Short.parseShort("");
       Double.parseDouble("");
       //等等

基本数据转String

public static void main(String[] args) {
      int a = 2;
      long b = 5;
      char c = 'd';
      //可以通过连接“”转成string
      String d = a+"";
      //valueOf可以穿八种基本类型
      String e = String.valueOf(a);
    }

上述String.valueOf(a)和 Integer.parseInt("")

都是通过类名.方法名进行调用,因为这些方法都是static修饰的。
注意:static修饰的方法可以通过类名.方法名调用。

作者简介:一个有故事的程序员,我的微信号qiushuzhao222,欢迎大家找我聊天,记录你我的故事。

相关标签: java