数据转换在编程里面是十分常用的,将平常可能用到的数据转换类型总结起来会在以后码代码的过程中有很大帮助。

  在数据转换之前,需要明白的是基础数据类型的自动转换和强制转换。接下来就先从数据类型的容量讲起。

1、基本数据类型的容量(即表示值的范围)

  ps:boolean不参与数据类型的转换,所以不讲

  基本数据类型   包装类型                  字节及范围

  byte          Byte      【-128,127】 1个字节(【-2的7次方,2的7次方-1】)   一个字节有8位

  short           Short      【-32768,32767】 2个字节(【-2的15次方,2的15次方-1】)  2*8-1

  int           Integer     【-2147483648,2147483647】 4个字节(【-2的31次方,2的31次方-1】)4*8-1

  long           Long      【-9223372036854774808,9223372036854774807】 8个字节 (【-2的63次方,2的63次方-1】) 8*8-1

  

  float           Float      【-3.403e38,3.403e38】4个字节

  double           Double            【-1.798e308,1.798e308】8个字节  

  char           Character         2个字节

各数据类型按容量大小由小到大排列为:

 (byte, short, char)  ——int ——long——float——double

2、基本数据类型转换的基本原则

  1)容量小的类型自动转换为容量的类型;

  

 public class TS{

     public static void main(String [] args){
byte a = 2;
int b = a;
long c = b;
float d = c;
double e = d;
System.out.println(e);
} }

结果为 。

又或者是 char c='a'; int i=c;  输出的i结果为97,即为对应的ASCII值

  2)容量大的类型转换为容量小的类型时,要加强制转换符;(有可能会精度损失)

 public class TS{

     public static void main(String [] args){
double e = 2.123456789;
int i = (int)e;
float j = (float)e;
System.out.println(i);
System.out.println(j);
} }

运行结果为,出现了精度的损失。

  3)byte,short,char之间不会自动互相转换,并且三者在计算时首先转换为int类型;

需要强制转换时可以如下操作:

  short i=97 ;

  char c=(char)i;

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

  4)实数常量默认为double类型, 整数常量默认为int类型;

ps:当有表达式时(计算),有以下规则使得数据类型自动提升:

①所有的byte,short,char型的值将被提升为int型;

②如果有一个操作数是long型,计算结果是long型;

③如果有一个操作数是float型,计算结果是float型;

④如果有一个操作数是double型,计算结果是double型;

3、引用数据类型(String)的转换

  1)将其他数据类型转换为字符串

  ①调用类的串转换方法:X.toString();
  ②自动转换:X+“”;
  ③使用String的方法:String.volueOf(X);
 
  2)字符串向其他类型转换
  ①先转换成相应的封装器实例,再调用对应的方法转换成其它类型

  eg.int i = Integer.valueOf(“32.1”).intValue();
  
 
  ②静态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 );
 
  ③getByte转为byte数组
  byte b [] =s.getBytes();

关于JAVA的数据转换总结的更多相关文章

  1. Java的数据转换

    Java的数据类型分为三大类,即布尔型.字符型和数值型,其中数值型又分为整型和浮点型.相对于数据类型,Java的变量类型为布尔型boolean;字符型char:整型byte.short.int.lon ...

  2. JSON与JAVA的数据转换

    http://developer.51cto.com/art/200906/129090.htm java.lang.ClassNotFoundException: net.sf.json.JSONA ...

  3. Java byte数据转换和处理总结

    一.byte和int相互转换的方法 java程序或Android程序的socket数据传输,都是通过byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把 ...

  4. 通过Gson解析Json数据

    Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...

  5. json和gson的区别

    json是一种数据格式,便于数据传输.存储.交换gson是一种组件库,可以把java对象数据转换成json数据格式 GSON简单处理JSON json格式经常需要用到,google提供了一个处理jso ...

  6. Gson解析复杂Json数据

    背景                                                                   json是一种数据格式,便于数据传输.存储.交换. gson是 ...

  7. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  8. 利用JAVA反射机制将JSON数据转换成JAVA对象

    net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大,  这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用,   有些数据类型需要进行转 ...

  9. 将JSON数据转换成JAVA的实体类

    思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 publ ...

随机推荐

  1. IE10、IE11和Microsoft Edge的Hack

    IE10.IE11和Microsoft Edge的Hack 随着Win10的推广,Microsoft Edge浏览器已经越来越普遍,但是IE11也是伴随其中,尾大不掉. 首先,了解一下概念,如下图:微 ...

  2. WDA导出文件XLS,WORD

    METHOD ONACTIONEXCEL . DATA: LO_NODE TYPE REF TO IF_WD_CONTEXT_NODE, "Node LO_ELEM TYPE REF TO ...

  3. category - junit用例分组执行

    一.category 和 testSuite的比较 (1)testSuite是类级分组(xx.class) (2)category是用例级分组(@Test) (3)category是testSuite ...

  4. 代码成长记录之jquery this使用

    后台管理的一个项目,第一次主动尝试自己动手写交互,果然问题来了,之前想当然觉得自己能写,不动笔,真的是对自己不负责任啊! 效果图是这样的,按我的思维写下来是点击一个‘更改’  多个地方会同时触发下拉 ...

  5. SQL Server数据库脚本备份与还原

    use[master]go /*完整--备份* backup 备份 * disk='E:\USERDB.bak' 磁盘,备份文件存放的路径* name='user' 备份显示的文件名称,可随意修改* ...

  6. bat中rar压缩命令

    数据库备份,导出的dmp 文件比较大,需要压缩,压缩后大小能变为原来十分之一左右吧. 写的是批处理的语句,每天调用,自动导出dmp 文件,压缩删除原文件. 首先写下路径,先将压缩软件的路径写入系统的环 ...

  7. PDF 补丁丁 0.5.0.2691 发布(替换字库新增字符映射功能)

    新版本在替换 PDF 字体功能中增加了替换字符的功能. 某些 PDF 文档可能由于编码错误的问题,复制出来的文本是乱码. 对于这种文档,可以使用此功能将错误的编码映射到正确的字符上,从而实现修复文档的 ...

  8. HttpHandler

    HttpHandler初探 一.HttpHandler简介 HttpHandler是asp.net真正处理Http请求的地方.在这个HttpHandler容器中,ASP.NET Framework才真 ...

  9. 利用WPS 2012/2013 0day针对中国政府部门的定向攻击

    今天早上,我们捕获到一个利用wps 2012/2013 0day针对中国政府部门的钓鱼邮件定向攻击事件. 邮件发件人以2014中国经济形势解析高层报告组委会 标题发出,附件为包含wps2012 0da ...

  10. 实验8 SQLite数据库操作

    实验报告 课程名称 实验8  SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 一 ...