1.1 Java为什么需要保留基本数据类型

http://www.importnew.com/11915.html

基本数据类型对大多数业务相关或网络应用程序没有太大的用处,这些应用一般是采用客户端/服务器模式,后端有数据库。但是,基本数据类型对以数值计算为主的应用程序来说是必不可少的。 
自从1996年Java发布以来,基本数据类型就是Java语言的一部分,因此Java是双类型的系统,即具有基本数据类型和对象类型,简称基本类型和对象。Java中有8个预定义的基本类型,每一个基本类型都有一个对应的对象包装类。基本类型基于值,对象类型基于引用。

1.2 Java的基本数据类型(primitive)

Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。 
整型: short, int, long, byte; 
浮点型:float, double; 
字符型:char; 
布尔型:boolean. 
Java中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或操作系统的改变而改变。对于数值类型的基本类型的取值范围,无需强制去记忆,它们的值都已经以常理的形式定义在对应的包装类中了。

基本类型 大小 对应的包装类 最小值 最大值
byte 8-bit Java.lang.Byte -128 +127
short 2Byte= 16bit Java.lang.Short -32768 +32767
int 4Byte= 32bit Java.lang.Integer -2^31 +2^31-1
long 8Byte= 64bit Java.lang.Long -2^63 +2^63-1
float 4Byte= 32bit Java.lang.Float 1.4e-45 3.40e38
double 8Byte= 64bit Java.lang.Double 4.9e-324 1.79e308
char 2Byte=16bit Java.lang.Character 0 65535
boolean - Java.lang.Boolean - -

关于Java基本类型的更多介绍,请见 
http://www.cnblogs.com/kelin1314/archive/2010/09/11/1824145.html 
http://blog.csdn.net/bingduanlbd/article/details/27790287

1.3 Java基本数据类型转换

Java语言是一种强类型的语言。强类型的语言有以下几个要求: 
(1) 变量或常量必须有类型,而且只能在声明以后才能使用; 
(2) 赋值时类型必须一致,值的类型必须和变量或常量的类型完全一致; 
(3) 运算时类型必须一致,参与运算的数据类型必须一致才能运算。 
但在实际应用中,经常需要在不同类型的值之间进行操作,这时就需要进行数据类型的转换。 
数据类型转换有两种: 
(1) 自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码; 
规则:从存储范围小的类型到存储范围大的类型。 
具体规则:byte→short(char)→int→long→float→double. 
(2) 强制类型转换:强制编译器进行类型转换,必须在程序中编写代码。该类型转换很可能存在精度的损失。 
规则:从存储范围大的类型到存储范围小的类型。 
具体规则:double→float→long→int→short(char)→byte. 
http://www.cnblogs.com/ggjucheng/archive/2012/11/20/2779081.html

1.4 基本数据类型和包装类之间的转换:

通过向对应的包装器传入参数来完成基本变量包装成包装类对象;利用包装类提供的xxxValue()方法将包装类对象转化成基本类型变量。 
如int和Integer之间的转换: 
Int转Integer: Integer integer = new Integer(int); 
Integer转int: int i = integer.intValue(); 
Double转double: double b = Double.doubleValue(); 
Float转float: float c = Float.floatValue(); 
……

包装类可以实现基本类型变量和字符串之间的转换: 
除Character外,所有的包装类提供parseXXX()方法将特定的字符串转换成基本类型变量,String类提供了valueOf()方法将基本类型转换成字符串。 
如:

public class JavaTest {
public static void main(String[] args) {
String iStr = “123”;
int testInt = Interger.parseInt(iStr); //将String类型的“123”转为了基本类型int的123.
String nStr = String.valueOf(100.234); //将double类型的100.234转为了String类型的“100.234”.
System.out.println(nStr);
}
}

此外,String.valueOf()的参数类型还可以是: 
boolean/char/char[]/int/double/float /long/Object。 
http://www.phpddt.com/j2ee/java_wrappers.html

 

Java的基本数据类型与转换的更多相关文章

  1. Java基础之数据类型和转换

    一.常见的数据类型分类 1.java中基本数据类型分为三大类,即布尔类型,字符型,数值型.其中数值型又分为整型和浮点型.引用数据类型分为类,接口,数组,枚举,注解.具体如下: 注:一个字节 = 8位 ...

  2. java基础知识-数据类型及转换

    1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...

  3. java 的基本数据类型及转换

    数据类型精度: byte 8 位short 16 位int 32 位long 64 位float 32 位double 64 位char 16 位 boolean 占几位要看 jvm 的具体实现, 虽 ...

  4. java的数据类型的转换

    一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换: <二> 强制转换 <一>.自动转换:就是将小的数据类型自动转换成大的数据类 ...

  5. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  6. Java学习笔记之:Java数据类型的转换

    一.介绍 数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换:强制类型转换则必须在代码中声明,转换顺序不受 ...

  7. java中的基本数据类型的转换

    本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...

  8. Java数据类型及其转换&&经常用到的快捷键

    数据类型 基本数据类型分类 (8种) byte .short. int. long. char. float. double .boolean 1个字节占8位   整数型byte 1字节 -128~1 ...

  9. Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

随机推荐

  1. 学习Redis你必须了解的数据结构——双向链表(JavaScript实现)

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/ 下午分享了JavaScript实现单向链表,晚上就来补充下双向链表吧.对链表 ...

  2. bzoj1854--并查集

    这题有一种神奇的并查集做法. 将每种属性作为一个点,每种装备作为一条边,则可以得到如下结论: 1.如果一个有n个点的连通块有n-1条边,则我们可以满足这个连通块的n-1个点. 2.如果一个有n个点的连 ...

  3. 如何实现一个php框架系列文章【5】安全处理输入

    所有的外部输入参数都应该检查合法性. 未正确处理输入数据将可能导致sql注入等漏洞. 框架提供系列函数来取$_REQUEST中的值 requestInt requestString requestFl ...

  4. intellij中不能导入jar包

    ①选中项目点击右键,选择open modual settings(或者直接按F4): ②在弹出的窗口左端选择Libraries: ③点击左边加号,选择From Maven Repository; ④将 ...

  5. 通过Wireshark抓包进行Cookie劫持

    首先在目标A机器上运行Wireshark并开启浏览器,开启前关闭其他占用网络的软件,这里我拿51CTO.com做测试. 正常登陆51CTO用户中心,此时使用 http.cookie and http. ...

  6. Dynamics CRM 之ADFS 使用 SQL Server 的联合服务器场

    此拓扑用于 Active Directory 联合身份验证服务 (AD FS) 不同于使用 Windows 内部数据库 (WID) 部署拓扑,因为不会将数据复制到每台联合服务器场中的联合身份验证服务器 ...

  7. 360安全卫士造成Sharepoint文档库”使用资源管理器打开“异常

           备注:企业用户还是少用360为妙        有客户反馈:部门里的XP SP2环境客户机全部异常,使用资源管理器打开Sharepoint文档库,看到的界面样式很老土,跟本地文件夹不一样 ...

  8. React-Native坑:Invariant Violation:Application 项目名 has not been registered.

    前言 在学习一门新技术的你也许有跟我一样的困惑,照着书上或者视频上的敲了.但是就是有各种问题没有出来自己想要的结果.我会将自己在这个过程中遇到的坑都记录下来,不一定全覆盖,但希望这些文章可以解决你的问 ...

  9. protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  10. Web系统性能测试术语简介

    并发用户 并发一般分为两种情况.一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作.这种操作一般指做同一类型的业务,比如在信用卡审批业务中,一定数目的用户在同一时刻对已经完成的审批业务 ...