Java的基本数据类型与转换
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的基本数据类型与转换的更多相关文章
- Java基础之数据类型和转换
一.常见的数据类型分类 1.java中基本数据类型分为三大类,即布尔类型,字符型,数值型.其中数值型又分为整型和浮点型.引用数据类型分为类,接口,数组,枚举,注解.具体如下: 注:一个字节 = 8位 ...
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- java 的基本数据类型及转换
数据类型精度: byte 8 位short 16 位int 32 位long 64 位float 32 位double 64 位char 16 位 boolean 占几位要看 jvm 的具体实现, 虽 ...
- java的数据类型的转换
一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换: <二> 强制转换 <一>.自动转换:就是将小的数据类型自动转换成大的数据类 ...
- JAVA数据类型,变量,转换,常量,运算符
java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...
- Java学习笔记之:Java数据类型的转换
一.介绍 数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换:强制类型转换则必须在代码中声明,转换顺序不受 ...
- java中的基本数据类型的转换
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...
- Java数据类型及其转换&&经常用到的快捷键
数据类型 基本数据类型分类 (8种) byte .short. int. long. char. float. double .boolean 1个字节占8位 整数型byte 1字节 -128~1 ...
- Java中几种常用数据类型之间转换的方法
Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...
随机推荐
- Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 关系数据库SQL之可编程性触发器
前言 前面关系数据库SQL之可编程性函数(用户自定义函数)一文提到关系型数据库提供了可编程性的函数.存储过程.事务.触发器及游标,前文已介绍了函数.存储过程.事务,本文来介绍一下触发器的使用.(还是以 ...
- C#对.zip 存档读取和写入
Framework4.5支持 引用: System.IO.Compression.dll,System.IO.Compression.FileSystem.dll 提取压缩文件 ZipFile.Ext ...
- Devexpress GridView 列中显示图片
首先将图片添加到ImageList中 添加GridView中Column void gridView1_CustomUnboundColumnData(object sender, DevExpres ...
- C#开发微信门户及应用(20)-微信企业号的菜单管理
前面几篇陆续介绍了很多微信企业号的相关操作,企业号和公众号一样都可以自定义菜单,因此他们也可以通过API进行菜单的创建.获取列表.删除的操作,因此本篇继续探讨这个主体,介绍企业号的菜单管理操作. 菜单 ...
- Linux下安装Hadoop完全分布式(Ubuntu12.10)
Hadoop的安装非常简单,可以在官网上下载到最近的几个版本,最好使用稳定版.本例在3台机器集群安装.hadoop版本如下: 工具/原料 hadoop-0.20.2.tar.gz Ubuntu12.1 ...
- filter 过滤器(监听)
Filter 过滤器 1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, ...
- 2016 ICPC青岛站---k题 Finding Hotels(K-D树)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5992 Problem Description There are N hotels all over ...
- (学习笔记)laravel 中间件
(学习笔记)laravel 中间件 laravel的请求在进入逻辑处理之前会通过http中间件进行处理. 也就是说http请求的逻辑是这样的: 建立中间件 首先,通过Artisan命令建立一个中间件. ...
- ASP.NET MVC4入门到精通系列目录汇总
序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...