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

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

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. 四种主要网络IO虚拟化模型

    本文主要为大家简要介绍VMware.Redhat.Citrix.Microsoft主要虚拟化厂商使用的4种主要的虚拟化IO模型 (emulation.para-virtualization.pass- ...

  2. gulp教程之gulp-minify-css

    简介: 使用gulp-minify-css压缩css文件,减小文件大小,并给引用url添加版本号避免缓存.重要:gulp-minify-css已经被废弃,请使用gulp-clean-css,用法一致. ...

  3. C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

  4. 一款免费的js图表工具--morris

    前段时间需要使用免费的图表工具做报表,同事提及了一款图表工具morris.官方网站: http://www.oesmith.co.uk/morris.js/ 该插件遵循BSD协议,可以用于商业软件,也 ...

  5. C++中的全局变量、普通局部变量和静态局部变量的区别

    在C++中,我们经常难以说清楚全局变量.局部变量和静态局部变量的区别.本博客从变量存储特性和标识符作用域两个角度区分这三个变量. 首先,我们来看看C++程序的内存区域是如何分配的. 从上图,我们可以看 ...

  6. Memcached(1)-----基本介绍

    memcached memcached概述 memcached是LiveJournal旗下Danga Interactive公司开发的一款软件.memcached是一个高性能,分布式内存对象缓存系统, ...

  7. 取得交换机的MAC地址

    一.首先PING交换机的IP地址 二.然后执行 ARP -a 命令 如下图:

  8. 手把手教你在Ubuntu上安装Apache、MySql和PHP

    1:首先安装apache:打开终端(ctrl+Alt+t), 输入命令:sudo apt-get install apache2即可安装, 安装完后,打开浏览器,在地址栏输入:localhost或者h ...

  9. php 常用数组操作

    php常用的数组操作函数,包括数组的赋值.拆分.合并.计算.添加.删除.查询.判断.排序等 array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 <?p ...

  10. C++软件添加dump调试打印日志

    #include <DbgHelp.h> #pragma comment(lib, "dbghelp.lib") LONG WINAPI TopLevelExcepti ...