Java中几种数据类型的转化

来源:互联网 发布:淘宝如何看店铺所在地 编辑:程序博客网 时间:2024/05/22 19:16

Java各数据类型之间的转化


1、Java中的基本数据类型。

           boolean ——1/8字节(1 bit)     byte —— 1字节             char —— 2字节         short —— 2字节

           int —— 4字节                          long —— 8字节             float —— 4字节         double —— 8字节

     在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double


2.Java数据类型的转换一般分三种,分别是:
  (1). 简单数据类型之间的转换
  (2). 字符串与其它数据类型的转换
  (3). 其它实用数据类型转换


具体转化


一.简单数据类型的转化

  ●低级到高级的自动类型转换
  ●高级到低级的强制类型转换
  ●包装类过渡类型能够转换


1)低级到高级的自动类型转换
      低级变量可以直接转换为高级变量:
      如低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如:
                           char c='c';           int i=c;             System.out.println("output:" i);
                           输出:output:99;
      
2)高级到低级的强制类型转换
      将高级变量转换为低级变量时,可以使用强制类型转换。即必须采用下面这种语句格式:
                int i=99;   byte b=(byte)i;   char c=(char)i;    float f=(float)i;
         这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。
     ●对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
                           short i=99;      char c=(char)i;        System.out.println("output:" c);
                            输出:output:c;
         但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。


3)包装类过渡类型能够转换
         利用包装类进行中间过渡,首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
               float型转换为double型:
                      float f1=100.00f;
                      Float F1=new Float(f1);
                      double d1=F1.doubleValue();
               int型转换为double型时,自动转换:
                       int i1=200;
                       double d1=i1;
         简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Integer i = new Integer(10); 
         而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换。


二.字符串型与其它数据类型的转换
         (1).其它类型向字符串的转换
                   ①调用类的串转换方法:X.toString();
                   ②自动转化:X+"";
                   ③使用String的方法:String.valueOf(X);


          (2).字符串向其它类型转换
                    ①先转换成相应的封装器实例,在调用对应的方法转化成其它类型
                             例如:字符串中"32.1"转化成double型的值格式为:new Float("32.1").doubleValue().
                    ②静态parseXXX方法
                                             String str = "1";
                                             short t = Short.parseShort(str);
                                             long l  = Long.parseLong(str);
                    ③Character的getNUmericValue(char ch)方法

三.其它实用数据类型转换

0 0