- 浏览: 411436 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 1160java集合框架全面进阶 java集合框架全面进 ... -
Jsp+JavaBean教程
2009-05-22 18:50 3845按着Sun公司的定义,JavaBean是一个可重复使用的软件组 ... -
Java常用术语解释
2009-05-22 17:39 2339名词 解释 AAA ... -
Java面向对象概述
2009-05-22 17:23 1063(如今的程序领域,大家都在说,面向对象OOP,但是真正能理解 ... -
java入门与加深
2009-05-22 17:13 9711 什么是Java、Java2、JDK ... -
利用Java事件处理机制实现录制、回放功能
2009-05-22 17:04 1625利用Java事件处理机制实 ... -
java数据类型转换
2009-05-22 16:57 1189[收藏]java数据类型转换 一些初学JAVA ... -
Java异常学习心得
2009-05-22 16:47 1463Java 异常学习心得 本文重在 Java ... -
多线程
2009-05-22 16:26 2177JAVA 教程:解析Java 的多线程机制 ... -
哈希表
2009-05-22 16:23 1520哈希表的概念作用及意义,哈希表的构造方法 ... -
Java接口常用方法
2009-05-22 16:20 2871接口是实现构件可插入性的关键,可插入构件的关键在于存在一 ... -
一个简单的SWT程序实例及详解
2009-05-22 16:04 1776网易学院 一个 ... -
String的比较
2009-05-22 15:34 1337关于java中的equals() 悬 ... -
JVM(JAVA虚拟机介绍)
2009-05-22 15:30 1229JVM(JAVA虚拟机介绍) 来 ... -
如果安装了JDK,会发同你的电脑有两套JRE
2009-05-22 15:29 1447如果安装了JDK,会发同 ... -
文件选择对话框,颜色选择对话框,分隔线的使用与介绍
2009-05-22 15:12 2686文件选择对话框,颜色选择对话框,分隔线的使用与介绍 ++ ... -
Java, JVM, JRE, Java API, Java类库, 编译器, 解释器,
2009-05-22 14:57 2531Java, JVM, JRE, Ja ... -
根据CLASSPATH环境变量定位类
2009-05-17 17:47 2351实际上,如果使用1.5以上版本的JDK,完全可以不用设置CLA ...
相关推荐
SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个广泛使用的编程语言。在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC ...
Python数据类型详解
什么是委托? 委托是一个类型安全的对象,它指向程序中另一个...开发者可以抽象地用 int 某名称(int x,int y) 的一种类型对方法进行封装,在c#中这种抽象的数据类型叫委托,针对上述的几个方法我们可以定义委托 : pu
pytorch张量数据类型
C++是一种强大的编程语言,它的数据类型系统是其核心特性之一。C++是强类型语言,这意味着每种变量和函数都必须在使用前先被声明,声明不仅定义了变量的类型,也规定了数据在内存中的存储方式以及允许对这些数据执行...
在本文中,我们将深入了解JavaScript中的数据类型,这是一项对于任何使用JavaScript进行开发的程序员来说都至关重要的基础知识点。JavaScript是一种弱类型或者说是动态类型的语言,这意味着在定义变量时,我们不需要...
"Modbus数据类型解析工具"是专为理解并测试Modbus协议中的数据类型设计的实用程序。这款工具能够帮助用户解析Modbus报文,进而确认和验证寄存器中的数据类型,确保通信的准确性和效率。 在Modbus协议中,数据是通过...
js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别: 基本数据类型是对值得引用,引用数据类型是对地址的引用; 基本数据类型存放在栈内存,栈内存提供了供JS代码执行的环境,引用...
"ABB工业机器人常见的数据类型" 在本文中,我们将对ABB工业机器人中常见的数据类型进行详细的介绍。 基本数据类型 在ABB工业机器人中,基本数据类型包括bool、byte、num、dnum、string和stringdig等。 * bool...
在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。...
本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...
自定义数据类型允许用户根据需求定义自己的数据结构,比如组合多个基本数据类型,形成新的复合类型。 本案例"易语言自定义数据类型变量保存"主要关注如何保存和恢复自定义数据类型的变量。在编程中,保存数据通常是...
数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于...
在Java中,数据类型分为两大类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。基本数据类型包括整数类型、浮点类型、字符类型和布尔类型,而引用数据类型则指的是对象、接口和数组...
在编程领域,特别是使用易语言(E语言)进行开发时,理解并操作数据类型的大小是非常重要的。易语言是一种中文编程语言,它具有直观的语法,旨在简化编程过程,尤其是对于初学者。本篇文章将深入探讨易语言中的...
在SQL Server中,数据类型是至关重要的概念,它决定了数据的存储方式、表现形式以及能容纳的值的范围。数据类型分为多种类别,包括整数、浮点、以及特殊的类型等。以下是对这些常见数据类型的详细说明: 1. **整数...
java基础的数据类型 看这个思维导图就够了
Python 3是目前广泛使用的Python编程语言版本,它支持多种数据类型,包括基本类型和复杂类型。在Python中,变量无需显式声明类型,变量的类型是由所赋值的类型决定的。Python 3的基本数据类型有整型(int)、浮点型...
数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了。 Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和值之间的一对一关系。 其实就是通常所说的...
在编程语言中,数据类型的长度是非常重要的,因为它直接影响着存储空间和计算效率。本文将深入对比Java和C/C++的数据类型长度,以便更好地理解和利用它们。 首先,让我们来看C/C++的数据类型。C语言提供了多种整数...