Java中的数据类型以及数据类型转换

来源:互联网 发布:怎么在mac上制作铃声 编辑:程序博客网 时间:2024/05/19 09:12

一、基本数据类型

     整型
     byte    8b    值范围-128~127
     short   16b
     int     32b
     long    64b
    
     浮点型(Java 中默认浮点为double)
     float   32b  ex: float flA = 3.7f
     double  64b

     布尔型
     boolean

     字符型(可以和int转换)
     char   16b(Unicode码)

二、基本数据类型转换
     byte->short->int->long->float->double
     这样的顺序是属于放大且自动类型转换,
     反过来就属于缩小且强制类型转换。
     类型转换发生的时机:
     1)赋值运算
     2)算术运算
     3)方法调用
    自动类型转换举例(int类型自动转换成float类型):
     int i=7;
     float j=1.0f;
     float sum=i+j;//返回8.0
     强制类型转换举例(float类型强制转换成int类型):
     int i=2;     
     float j=1.0f;
     int sum=(int)(i+j);//返回3
     注:char可以自动类型转换成int。

    再补充一个例子:
   1 class A {
   2     void sum(double a, double b) {
   3         System.out.println("a + b = " + (a + b));
   4     }
   5 }
   6
   7 class B {
   8     public static void main(String args[]) {
   9         A ob = new A();
  10         ob.sum(10, 20);// 两个int型参数
  11     }
  12 }
  程序输出:
  a + b = 30.0

  这里说明在方法调用时发生自动类型转换。
  A中定义sum(double,double),我在B中调用sum(int,int)方法
  ,但A中不存在此方法。所以Java 将int型扩大到double型,
  然后调用sum(double,double) 。当然,如果A中定义了sum(int,int) ,
  当然会调用sum(int,int),而不会调用sum(double,double) 。

三、字符串与其它数据类型的转换
1)从Integer类对象中把数据以int类型取出方法有两个:类级别的“parseInt”、对象级别的“intValue”。intValue不需要任何参数,直接调用,前提必须有Integer类对象。 如只想把字符串类型的数字转换成int类型数字,可以直接使用parseInt方法。
   intValue方法可以用来取得Integer对象所存放的int数值,也可以通过类似的方法来转换其他的基本数据类型,boolean,char除外。byte,short,long,float,double分别对应方法byteValue,shortValue,longValue,floatValue,doubleValue。

举例:String->int
      Integer s = new Integer(str);
      int s1=s.intValue();

      int s1=Integer.parseInt(str);

2)和parseInt相反的是"toString"这个方法,这个方法是对象级别的,即将对象转换成字符串。当使"+"运算符将对象同一字符串连接,Java编译器会自动调用"toString"方法。
举例:int->String
      Integer.toString(10);//返回10
另外一个类似方法,object.valueOf( ) 方法,它返回的是Integer对象。
举例:int->String
      int a = 12345;
      String b = String.valueOf(a);//返回12345

四、类与类之间的类型转换
类与类之间的转换只能用在父子类上,不能用在兄弟类,
更不能用在根本不相关的两个类之间。
子类转换成父类属于自动类型转换,可以调用父类的方法;
父类转换成子类属强制类型转换,可以调用子类的方法。

原创粉丝点击