Java的数据类型分为三大类,即布尔型、字符型和数值型,其中数值型又分为整型和浮点型。相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型 float、 double。其中四种整型变量分别对应于不同的精度和范围。此外,编程时还经常用到两种类变量,即String和Date。

字符型中的char是16bit,即一个可以存储一个字符。其实从理论上有2byte(16bit)可以存储两个字符,但是真正的有只能以ASCII编码中的两个字符,也就是说只能是数字和英语字符等等,不能表示到其他国家的语言中某个字符,所以Java从普遍性来考虑的话,用Unicode来储存的话,只能储存一个字符(16bit)。

整型中byte、short、int、long数据类型,从小到大,分别是8bit,16bit,32bit,64bit,只能来表示数字而已,当然如果有英语字母也是可以的,输出的时候就输出了该字母在ASCII中编码大小的十进制,而不是输出英文字母本身,因为整型本身就是来储存数字的。

浮点型更容易了,是用来表示有小数点的数字的,不过他们的精度不同,float是32bit,而double是64bit。一般的话,float是够用了,不过数据的小数点后的位数过多可以用double,保证精度的准确。

简单数据类型之间的转换

1.自动类型的转换

低精度的数据类型可以自动转换为高精度的数据类型,低精度意味着bit位数小,放入bit位数大的高精度数据类型肯定是可以啦。就像是在1L水杯里面的水在从1L的水杯里倒到2L的水杯里是没事的,不会有精度溢出的

2.强制类型的转换

高精度的转换为低精度的,要强制,因为2L水杯里面的水从2L水杯倒到1L的水杯里面去,很可能精度溢出。当然,也不一定会溢出的,因为可能2L水杯里面装着0.9L的水,倒到1L的水杯里面去,当然没事了,不过最好不要这样子做,一般会导致溢出或者精度下降。

3.包装类过度类型的转换

Java的包装类就是可以直接将简单类型的变量表示为一个类。Java共有六个包装类,分别是Boolean,Character,Integer,Long,Float和Double,明显的对应着boolean,char,int,long,float和double。而String和Date本身就是类,不存在包装类的概念。

Java的数据转换的更多相关文章

  1. 关于JAVA的数据转换总结

    数据转换在编程里面是十分常用的,将平常可能用到的数据转换类型总结起来会在以后码代码的过程中有很大帮助. 在数据转换之前,需要明白的是基础数据类型的自动转换和强制转换.接下来就先从数据类型的容量讲起. ...

  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. OAuth2.0协议

    简介  OAuth(Open Authorization),协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户 ...

  2. PROTEL99SE封装说明

    PROTEL99SE封装说明 路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的.同样的, 对于无极性的电容,RAD0.1-RAD0.4  也是一样:对有极性的电容如电解电容 ...

  3. jq tab

    <div id="outer"> <ul id="tab"> <li class="current">t ...

  4. php浮点数计算问题

    如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个 ...

  5. .Net Install类的Install、Commit等事件触发顺序

    .Net Install类的Install.Commit等事件触发顺序 空间   首先是Install其中调用base.Install过程中导致OnBeforeInstallOnAfterInstal ...

  6. (转)CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example)

    CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0 ...

  7. C#委托初探

    委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联.您可以通过委托调用其中已添加的方法列表.委托用于将方法作为参数传递给其他方法.事件处理程序就是通过委托调用的方法.您可以创建一个自定义方 ...

  8. Java 并发:Executors 和线程池

    让我们开始来从入门了解一下 Java 的并发编程. 本文主要介绍如何开始创建线程以及管理线程池,在 Java 语言中,一个最简单的线程如下代码所示: Runnable runnable = new R ...

  9. js 判断js函数、变量是否存在

    //是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function&q ...

  10. Naming Service 与 Zookeeper

      命名服务是指通过指定的名字来获取资源或者服务的地址,提供者的信息.利用Zookeeper很容易创建一个全局的路径,而这个路径就可以作为 一个名字,它可以指向集群中的集群,提供的服务的地址,远程对象 ...