Android数据类型之间相互转换系统介绍_Android

一些初学Android的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。下面笔者就开发中的一些体会介绍给大家。

我们知道,android的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型 boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。

1 数据类型转换的种类\r
java数据类型的转换一般分三种,分别是:
(1). 简单数据类型之间的转换
(2). 字符串与其它数据类型的转换
(3). 其它实用数据类型转换
下面我们对这三种类型转换分别进行论述。

2 简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为
[center](byte,short,char)--int--long--float--double[/center]
简单数据类型之间的转换又可以分为:
●低级到高级的自动类型转换
●高级到低级的强制类型转换
●包装类过渡类型能够转换

2.1自动类型转换
低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在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型。

2.2强制类型转换
将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i=99;byte b=(byte)i;char c=(char)i;float f=(float)i;
可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。

2.3包装类过渡类型转换
在我们讨论其它变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和 Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
在进行简单数据类型之间的转换(自动转换或强制转换)时,我们总是可以利用包装类进行中间过渡。
一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
例1,当希望把float型转换为double型时:
float f1=100.00f;Float F1=new float(f1);Double d1=F1.doubleValue();//F1.doubleValue()为Float类的返回double值型的方法
当希望把double型转换为int型时:
double d1=100.00; Double D1=new Double(d1); int i1=D1.intValue();
当希望把int型转换为double型时,自动转换:
int i1=200; double d1=i1;
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:
Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。

时间: 2024-09-10 10:26:07

Android数据类型之间相互转换系统介绍_Android的相关文章

Android数据类型之间相互转换系统介绍

一些初学Android的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理.显示时间方面的问题等.下面笔者就开发中的一些体会介绍给大家. 我们知道,android的数据类型分为三大类,即布尔型.字符型和数值型,而其中数值型又分为整型和浮点型:相对于数据类型,Java的变量类型为布尔型 boolean:字符型char:整型byte.short.int.long:浮点型float.double.其中四种整型变量

php学习之数据类型之间的转换介绍

复制代码 代码如下: /*数据类型之间相互转换 * 一种是强制转换 * setType(变量,类型); //int,integer,float,double等等. * 这个函数将原变量的类型改变,用var_dump();可以查看变量 * * 在赋值前使用(类型)的形式,不会改变原变量的类型 * $a=(int)"123abc"; * * $变量=intval(变量或值); * $变量=floatval(变量或值); * $变量=stringval(变量或值); * * 注意:整型在内存

php学习之数据类型之间的转换介绍_php技巧

复制代码 代码如下: /*数据类型之间相互转换 * 一种是强制转换 * setType(变量,类型); //int,integer,float,double等等. * 这个函数将原变量的类型改变,用var_dump();可以查看变量 * * 在赋值前使用(类型)的形式,不会改变原变量的类型 * $a=(int)"123abc"; * * $变量=intval(变量或值); * $变量=floatval(变量或值); * $变量=stringval(变量或值); * * 注意:整型在内存

php学习之数据类型之间的转换代码_php技巧

复制代码 代码如下: /*数据类型之间相互转换 * 一种是强制转换 * setType(变量,类型); //int,integer,float,double等等. * 这个函数将原变量的类型改变,用var_dump();可以查看变量 * * 在赋值前使用(类型)的形式,不会改变原变量的类型 * $a=(int)"123abc"; * * $变量=intval(变量或值); * $变量=floatval(变量或值); * $变量=stringval(变量或值); * * 注意:整型在内存

php数据类型之间转换代码

1.PHP字符串转换 数值转字符串就是按照数值原本的格式转换:字符串转换为数字,转换后的数字是从字符串开始部分的数值型字符串,数值型字符串包括正负值和用科学计数法表示的数字. [示例] 请把以下代码复制内容到剪贴板 <?php教程      $number=intval("5.6abc");    //5      $number=(float)"+5.6abc";    //5.6      $number=floatval("-1.2e3f4g5

android图片类型之间相互转换实现代码_Android

本文实例讲述了android图片类型之间相互转换实现代码.分享给大家供大家参考.具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1.Drawable → Bitmap Java代码如下: public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawab

android图片类型之间相互转换实现代码

本文实例讲述了android图片类型之间相互转换实现代码.分享给大家供大家参考.具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1.Drawable → Bitmap Java代码如下: public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawab

Android intent之间复杂参数传递方法详解_Android

本文详细讲述了Android intent之间复杂参数传递方法.分享给大家供大家参考,具体如下: Intent是Activity与Activity之间,Activity与Service之间传递参数的介质,而这两种通常实现的是Java基本对象类型和String的传递. 在实际项目中,页面之间传值,除了以上几种,经常还有传递Object对象.List类型.List<Object>类型和全局变量等等的需求.本文就是介绍怎么传递这几种类型的参数. 一.传递List<String>和List

Android Activity之间相互调用与传递参数的原理与用法分析_Android

本文实例讲述了Android Activity之间的相互调用与传递参数.分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与jsp之间的调用是通过重定向完成的,而在Android中,Activity与Activity之间的切换是通过Intent来完成的. 所谓Intent,它是Android中非常重要的内置组件,他可以理解为"我要干一件什么事情".在Android中有3大组件:Activity,Service.Broadcast,他们之间