- 浏览: 404065 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
dageda_jgw:
...
JSF定义及原理 -
尘土飞扬:
这个在NB7中已经无效了,加不加都会提示 UTF8打不开
Netbeans统一UTF-8编码的方法 -
ouyangkang20:
不对
Struts target is null for setProperty(null, "x", [Ljava.lang.String;@179da9f) -
wpf523:
hahah,很不错啊
mysql安装图解教程 5.1 -
taburissmeng:
action中相应的属性没有set get方法就会报这样的错。 ...
Struts target is null for setProperty(null, "x", [Ljava.lang.String;@179da9f)
【导读】Java 提供了几类简单数据类型表示数字和字符,本文对其进行了分析讲解 |
数据类型
数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如word
和integer
数据类型的大小等。另一方面,Java
的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java
虚拟机(JVM
)运行在何等低级的操作系统之上,数据类型的属性都是完全一样的。
简单数据类型
简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。更大、更复杂的数据类型可以采用简单数据类型的组合来定义。在大多数情况下,简单数据类型都具有其硬件等价物。比方说,int
简单类型有时存放在32
位硬件寄存器内。Java
提供了几类简单数据类型表示数字和字符。
简单数据类型通常划分为以下几种类别:实数、整数、字符和布尔值。这些类别中又包含了多种简单类型。比如说,Java
定义了两种简单类型:float
和double
,它们都属于实数类别,另外4
种简单类型:byte
、short
、int
和long
则都属于整数类别。此外还有一种简单类型char
则归于字符类型。布尔值类别只有一种简单类型:boolean
。表A
详细列出了Java
的简单数据类型.
表A Java
简单数据类型
简单类型 大小 范围/
精度
float 4
字节 32
位IEEE 754
单精度
double 8
字节 64
位IEEE 754
双精度
byte 1
字节 -128
到127
short 2
字节 -32,768
到32,767
int 4
字节 -2,147,483,648
到2,147,483,647
long 8
字节 -9,223,372,036,854,775,808
到9,223,372,036, 854,775,807
char 2
字节 整个Unicode
字符集
boolean 1
位 True
或者false
Java
的简单数据类型
Java
中的所有数字变量都是有符号的,Java
不允许数据类型之间随意的转换。只有数字变量之间可以进行类型转换。比如,boolean
就不能转换为其他数据类型,而且其他数据类型也不能转换为boolean
。
因为Java
的简单数据类型都经过准确定义,而且直接内存访问也是不允许的,所以在Java
语言中取消了sizeof
运算符。
Java
的简单数据类型并不是对象。为了采用面向对象方式对待Java
简单数据类型,你需要首先用类封装它们。
封装类
Java
还提供了Byte
、Short
、Boolean
、Character
、Integer
、Double
、Float
和Long
等内置的封装类。这些封装(wrapper
)类提供了很直观的实用方法。比如,Byte
、Float, Integer
、Long
和Double
类都具有doubleValue()
方法,通过它可以把存储在类的实例中的值转换为Double
类型。还有,所有的封装类都提供了静态的valueOf(String s)
方法把给定的String
转换为对应的简单类型。清单A
的代码演示了这些封装类的一些用法。
简单数据类型初始化
在Java
语言中,简单数据类型作为类的成员变量声明时自动初始化为默认值,除非显式地声明。简单数据类型为某一方法声明局部变量时不会自动地初始化而且会导致编译器扔出类似以下的错误消息“Variable x may not have been initialized.
(x
变量没有初始化)”
表B
定义了Java
简单数据类型的默认值。
表B Java
简单数据类型的默认值
类型
默认值
boolean
false
Byte
0
short
0
int
0
Long
0
Char
´u0000´
Float
0.0
double
0.0
Java
简单数据类型的默认初始值
清单B
中的代码显示所有的Java
简单数据类型都用做了Initialization
类的成员变量。该例还显示Initialization
类的构造器中局部声明了一个int
变量。在不修改以上代码的情况下,编译器会在对以上代码进行编译的时候扔出错误。
一旦引发问题的代码行(那些引用未初始化变量导致错误发生的代码)被删除或者注释掉。程序成功编译和执行之后就会显示以下的结果:
byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false
我们还可以显式地初始化成员变量为其他值,如以下代码所示:
byte b = 5;
short s = 123;
int i = 1234;
long l = 12345;
float f = 123.45f;
double d = 12345.678;
char c = ´A´;
boolean z = true;
小结
Java 定义了全套简单数据类型。此外,Java 取消了其他变成语言中的硬件和编译器依附,允许程序员把注意力转移到其他问题上来。在下一篇文章里,我们将继续讨论某些经常用到的、Java 定义的复杂数据类型,同时了解下如何利用它们来处理典型的编程问题。
来源于 : http://developer.51cto.com/art/200510/6614.htm
程序设计 :Java: 数据类型
From Wikibooks
Jump to: navigation , search
程序设计 :Java > 数据类型
目录[隐藏 ] |
<script type="text/javascript"> //<![CDATA[ if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } //]]> </script> [编辑 ] 上下文链接
[编辑 ] 数据类型
数据类型是程序设计语言描述事物、对象的方法。 Java 数据类型分为内置类型和扩展类型两大类。内置类型就是 Java 语言本身提供的基本数据类型,而扩展类型则是 Java 语言根据基本类型扩展出的其他类型。扩展类型可以使 Java 核心库中的,也可以程序员根据需要自己扩展。
[编辑 ] 内置类型
Java 包括如下几种内置类型:
类型名称 |
类型定义 |
类型取值 |
boolean |
布尔值,作二元判断 |
true , false |
byte |
8 位有符号整数 |
最小值 -128 ,最大值 127 |
short |
16 位有符号整数 |
最小值 -32768 ,最大值 32767 |
int |
32 位有符号整数 |
最小值 -2147483648 ( -231 ),最大值 2147483647 ( 231 -1 ) |
long |
64 位有符号整数 |
-263 ~(263 -1) |
float |
32 位浮点数 |
1.4E-45~3.4028235E38 |
double |
64 位浮点数 |
4.9E-324~1.7976931348623157E308 |
char |
16 位 Unicode 字符 |
不适用 |
内置类型也称作基本类型( Primitive Types ),是其他类型的基础。所有的其他类型(包括 Java 核心库和用户自定义类型)都是通过基本类型扩展而来的。这些类型是我们描述对象最基本的方式。比如:判断是否使用 boolean ;衡量大小、长度使用各种整型(包括 short , int , long )和浮点数( float 和 double );表达字符使用 char ;而处理二进制数据块使用 byte 。
[编辑 ] 浮点值的精度
浮点值与我们通常所使用的小数是不同的。在使用中,它往往是难以确定的。常见的问题是定义了一个浮点数,经过一系列的计算,在数学上,它本来应该等于某个确定值。但是使用相等运算符 (==) 进行判断时,往往得出的结论是不等;或者本来应该大于 / 小于某个特定值,结果却可能刚好相反。因此,对于浮点值比较时,不能简单地使用 ==, >, < 等运算符。
我们做计算时,往往都有一个精度,或由于客观事实,或由于我们的需要。这样我们比较两个浮点数时,就不是简单的使用比较运算符了,而是在允许的精度之内作比较。比如:比较两个浮点数 (f1, f2) 是否相等,精度为 p
| f1 - f2 | < p
----------
''true''
| f1 - f2 | > p
----------
''false''
上面的 || 表示绝对值运算, java.lang.Math 类对绝对值运算提供了支持。 同样,比较 f1 是否大于 f2 ,如下:
( f1 - p ) > f2
----------
''true''
这种方法适用于大多数数据处理情况,但也有时候,必须是完全精确计算,这样就不能使用这种方法了,而应该采用 java.math.BigDecimal 和 java.math.BigInteger 来计算。
关于浮点数精度问题还可以参看 您的小数点到哪里去了
[编辑 ] 值类型与引用类型
值类型与引用类型的区分是通过变量赋值来区分的。值类型在赋值时,把值传递给被赋值对象,而引用类型只把对象的引用传递给被赋值对象,举个例子:
来源 : http://zh.wikibooks.org/wiki/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1:Java:%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B
发表评论
-
如何获得JVM的最大可用内存
2010-06-26 17:47 2065在命令行下用 java -XmxXXXXM -version ... -
java程序的时间与系统时间不同
2010-04-15 21:43 1515实施软件时,windows时区、语言设置都正常,但java程序 ... -
java集合框架全面进阶
2009-05-22 20:07 1120java集合框架全面进阶 java集合框架全面进 ... -
Jsp+JavaBean教程
2009-05-22 18:50 3756按着Sun公司的定义,JavaBean是一个可重复使用的软件组 ... -
Java常用术语解释
2009-05-22 17:39 2292名词 解释 AAA ... -
Java面向对象概述
2009-05-22 17:23 999(如今的程序领域,大家都在说,面向对象OOP,但是真正能理解 ... -
java入门与加深
2009-05-22 17:13 9241 什么是Java、Java2、JDK ... -
利用Java事件处理机制实现录制、回放功能
2009-05-22 17:04 1525利用Java事件处理机制实 ... -
java数据类型转换
2009-05-22 16:57 1155[收藏]java数据类型转换 一些初学JAVA ... -
Java异常学习心得
2009-05-22 16:47 1397Java 异常学习心得 本文重在 Java ... -
多线程
2009-05-22 16:26 2131JAVA 教程:解析Java 的多线程机制 ... -
哈希表
2009-05-22 16:23 1435哈希表的概念作用及意义,哈希表的构造方法 ... -
Java接口常用方法
2009-05-22 16:20 2832接口是实现构件可插入性的关键,可插入构件的关键在于存在一 ... -
一个简单的SWT程序实例及详解
2009-05-22 16:04 1730网易学院 一个 ... -
String的比较
2009-05-22 15:34 1302关于java中的equals() 悬 ... -
JVM(JAVA虚拟机介绍)
2009-05-22 15:30 1192JVM(JAVA虚拟机介绍) 来 ... -
如果安装了JDK,会发同你的电脑有两套JRE
2009-05-22 15:29 1418如果安装了JDK,会发同 ... -
文件选择对话框,颜色选择对话框,分隔线的使用与介绍
2009-05-22 15:12 2611文件选择对话框,颜色选择对话框,分隔线的使用与介绍 ++ ... -
Java, JVM, JRE, Java API, Java类库, 编译器, 解释器,
2009-05-22 14:57 2481Java, JVM, JRE, Ja ... -
根据CLASSPATH环境变量定位类
2009-05-17 17:47 2305实际上,如果使用1.5以上版本的JDK,完全可以不用设置CLA ...
相关推荐
ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的。ECMAScript 不支持任何创建...
C++数据类型及取值范围 1.基本数据类型: ①字符类型:char(字符型) 例:‘A’,’b’ ②整数类型:int(整型) 例:4563, 234, 885634 ③浮点类型:float(单精度型)、double(双精度型) 例:3.1456 , 0.9e12 ④空值...
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问下面笔者就开发中的一些体会介绍给大家。 我们知道,...
数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如word...
修复8字节数据类型,为数组时的BUG..测试通过,未实际使用到项目中...有问题在帖子里回复...注:自定义数据类型文本 必须跟 当前的数据类型一致,否则崩溃没商量...工作原理是根据 自定义数据类型 文本,来保存,还原...
默认情况下,AIDL只支持下列数据类型: Java八种基础数据类型(如 int、long、char、boolean 等); String字符串; CharSequence字符序列; List列表,List中的所有元素须是前面提到的数据类型,或者是Parcelable...
Python数据类型,在内存中存储的数据可以有多种类型。例如, 一个人的名字可以用字符来存储, 年龄可以用数字来存储, 爱好可以用集合来存储等等。Python有五个标准的数据类型: Numbers(数字) String(字符串)...
Java数据类型和MySql数据类型对应一览
资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...
组态王的数据类型,详细的介绍,内存离散变量、I/O离散变量、2.内存实型变量、I/O实型变量
易语言自定义数据类型变量保存源码,自定义数据类型变量保存,CLSave
图的抽象数据类型实现 数据结构实验 广工 链表实现
SQL的数据类型与Java数据类型的对应关系,是程序员必备的基础知识,欢迎大家下载。
Oracle的数据类型: 1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库...
oracle和sql数据类型
整数型数据包括bigint型、int型、smallint型和tinyint型。 浮点数据类型包括real型、float型、decimal型和numeric型。
用VBA获取access表名和各个表字段的数据类型
数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer提供了25种...
sqlserver数据库类型对应Java中的数据类型
实验项目名称: 抽象数据类型的实现 实验项目性质: 设计性实验 所属课程名称: 数据结构 以教材中讨论的各种抽象数据类型为对象,利用C语言的数据类型表示和实现其中某个抽象数据类型。 本资源包括了可执行文件、源...