- 浏览: 411505 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 2123在命令行下用 java -XmxXXXXM -version ... -
java程序的时间与系统时间不同
2010-04-15 21:43 1550实施软件时,windows时区、语言设置都正常,但java程序 ... -
java集合框架全面进阶
2009-05-22 20:07 1161java集合框架全面进阶 java集合框架全面进 ... -
Jsp+JavaBean教程
2009-05-22 18:50 3846按着Sun公司的定义,JavaBean是一个可重复使用的软件组 ... -
Java常用术语解释
2009-05-22 17:39 2340名词 解释 AAA ... -
Java面向对象概述
2009-05-22 17:23 1063(如今的程序领域,大家都在说,面向对象OOP,但是真正能理解 ... -
java入门与加深
2009-05-22 17:13 9741 什么是Java、Java2、JDK ... -
利用Java事件处理机制实现录制、回放功能
2009-05-22 17:04 1627利用Java事件处理机制实 ... -
java数据类型转换
2009-05-22 16:57 1191[收藏]java数据类型转换 一些初学JAVA ... -
Java异常学习心得
2009-05-22 16:47 1463Java 异常学习心得 本文重在 Java ... -
多线程
2009-05-22 16:26 2178JAVA 教程:解析Java 的多线程机制 ... -
哈希表
2009-05-22 16:23 1521哈希表的概念作用及意义,哈希表的构造方法 ... -
Java接口常用方法
2009-05-22 16:20 2873接口是实现构件可插入性的关键,可插入构件的关键在于存在一 ... -
一个简单的SWT程序实例及详解
2009-05-22 16:04 1778网易学院 一个 ... -
String的比较
2009-05-22 15:34 1338关于java中的equals() 悬 ... -
JVM(JAVA虚拟机介绍)
2009-05-22 15:30 1230JVM(JAVA虚拟机介绍) 来 ... -
如果安装了JDK,会发同你的电脑有两套JRE
2009-05-22 15:29 1449如果安装了JDK,会发同 ... -
文件选择对话框,颜色选择对话框,分隔线的使用与介绍
2009-05-22 15:12 2687文件选择对话框,颜色选择对话框,分隔线的使用与介绍 ++ ... -
Java, JVM, JRE, Java API, Java类库, 编译器, 解释器,
2009-05-22 14:57 2533Java, JVM, JRE, Ja ... -
根据CLASSPATH环境变量定位类
2009-05-17 17:47 2353实际上,如果使用1.5以上版本的JDK,完全可以不用设置CLA ...
相关推荐
"组态王的数据类型" 组态王是一个工业自动化软件平台,提供了多种数据类型来满足不同应用场景的需求。了解组态王的数据类型对于开发高效的工业自动化应用非常重要。 BIT 数据类型:BIT 数据类型是一种基本的数据...
SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个广泛使用的编程语言。在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC ...
自定义数据类型允许用户根据需求定义自己的数据结构,比如组合多个基本数据类型,形成新的复合类型。 本案例"易语言自定义数据类型变量保存"主要关注如何保存和恢复自定义数据类型的变量。在编程中,保存数据通常是...
Java 数据类型和 MySql 数据类型对应一览 在 Java 编程语言中,数据类型是指变量或函数可以持有的值的类型。 MySql 数据库也具有其自己的数据类型,用于存储和管理数据。在本文中,我们将对 Java 数据类型和 MySql ...
在编程领域,特别是使用易语言(E语言)进行开发时,理解并操作数据类型的大小是非常重要的。易语言是一种中文编程语言,它具有直观的语法,旨在简化编程过程,尤其是对于初学者。本篇文章将深入探讨易语言中的...
在易语言中,自定义数据类型是一种重要的编程概念,它允许程序员根据需求定义自己的数据结构,比如组合多种基本数据类型,形成复合型的数据结构。本文将深入探讨易语言中自定义数据类型的内存存储方式及其相关知识点...
在数据块中,可以定义多种不同的数据类型,这些数据类型包括基本数据类型、复杂数据类型和用户自定义数据类型。 基本数据类型是TIA博图中预定义的一些简单数据类型,如布尔型(BOOL)、整型(INT)、实型(REAL)等...
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问下面笔者就开发中的一些体会介绍给大家。 我们知道,...
本篇文章将详细阐述 SQL 中几种常见的数据类型及其应用特点,具体包括整型数据类型、浮点数据类型、二进制数据类型以及逻辑数据类型。 #### 整型数据类型 1. **INT(INTEGER)** - **描述**:`INT` 或 `INTEGER` ...
### IDA简单教程数据类型说明更改等内容详解 #### 一、引言 IDA是一款非常强大的逆向工程工具,广泛应用于软件安全分析、恶意软件研究等领域。对于初学者来说,掌握IDA的基本操作非常重要,特别是如何利用IDA来辅助...
本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...
SQL 数据库数据类型说明 SQL 数据库中有多种数据类型,每种数据类型都有其特点和应用场景。了解这些数据类型是 SQL 编程的基础。 1. 整型数据类型 SQL 数据库中的整型数据类型包括 bit、int、smallint 和 tinyint...
Python组合数据类型是Python编程语言中用于存储多个数据值的内置数据结构。在Python中,组合数据类型包括列表(List)、元组(Tuple)和字典(Dictionary)。这三种类型各有其特点,可以存储不同类型的数据,包括...
根据提供的文件信息,“Informix 用户例程与数据类型开发指南”这一标题以及描述明确指出了文档的主要内容将围绕IBM Informix数据库系统中的用户定义例程(User-defined Routines)及自定义数据类型展开。尽管具体内容...
自定义数据类型可以通过“定义数据类型”命令创建,可以包含基本数据类型(如整数、浮点数、字符串等)以及其它自定义数据类型的组合,形成复杂的数据结构。在多线程环境中,如果需要在线程间传递这样的自定义数据,...
在Java编程语言中,数据类型分为两种:基本数据类型(如int、char)和引用数据类型(如类、接口、数组)。而在Java持久化框架Hibernate中,这些数据类型需要与数据库中的字段类型进行映射,以便正确地存储和检索数据...
S7-300数据类型 S7-300数据类型是 Siemens 公司开发的可编程逻辑控制器(PLC)S7-300系列的数据类型体系。该系列PLC广泛应用于工业自动化领域,S7-300数据类型是其核心组成部分。 一、基本数据类型 基本数据类型...
C#的数据类型主要分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、字符型、布尔型、空类型以及枚举和指针(仅限于unsafe代码)。引用数据类型则包括类、接口、数组和委托,它们都是对象的...
在编程领域,自定义数据类型和结构体是程序员在实现特定功能时不可或缺的工具。火山PC(VolcanoPC)是一个类似易语言的编程环境,它提供了丰富的编程特性,包括自定义数据类型的创建和使用。本案例将深入探讨如何在...
在SQL中,数据类型是用来定义和组织数据的基本结构,它们决定了数据可以存储的类型和形式。转换则是将一种数据类型转换成另一种的过程,这在处理不同系统或接口间的数据交互时非常常见。JDBC(Java Database ...