`

数据类型

    博客分类:
  • JSE
阅读更多

 

【导读】Java 提供了几类简单数据类型表示数字和字符,本文对其进行了分析讲解

数据类型

数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如wordinteger 数据类型的大小等。另一方面,Java 的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java 虚拟机(JVM )运行在何等低级的操作系统之上,数据类型的属性都是完全一样的。

简单数据类型

简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。更大、更复杂的数据类型可以采用简单数据类型的组合来定义。在大多数情况下,简单数据类型都具有其硬件等价物。比方说,int 简单类型有时存放在32 位硬件寄存器内。Java 提供了几类简单数据类型表示数字和字符。

简单数据类型通常划分为以下几种类别:实数、整数、字符和布尔值。这些类别中又包含了多种简单类型。比如说,Java 定义了两种简单类型:floatdouble ,它们都属于实数类别,另外4 种简单类型:byteshortintlong 则都属于整数类别。此外还有一种简单类型char 则归于字符类型。布尔值类别只有一种简单类型:boolean 。表A 详细列出了Java 的简单数据类型.

A Java 简单数据类型

简单类型 大小 范围/ 精度

float 4
字节 32IEEE 754 单精度

double 8
字节 64IEEE 754 双精度

byte 1
字节 -128127

short 2
字节 -32,76832,767

int 4
字节 -2,147,483,6482,147,483,647

long 8
字节 -9,223,372,036,854,775,8089,223,372,036, 854,775,807

char 2
字节 整个Unicode 字符集

boolean 1
True 或者false

Java 的简单数据类型

Java
中的所有数字变量都是有符号的,Java 不允许数据类型之间随意的转换。只有数字变量之间可以进行类型转换。比如,boolean 就不能转换为其他数据类型,而且其他数据类型也不能转换为boolean

因为Java 的简单数据类型都经过准确定义,而且直接内存访问也是不允许的,所以在Java 语言中取消了sizeof 运算符。

Java
的简单数据类型并不是对象。为了采用面向对象方式对待Java 简单数据类型,你需要首先用类封装它们。

封装类

Java
还提供了ByteShortBooleanCharacterIntegerDoubleFloatLong 等内置的封装类。这些封装(wrapper )类提供了很直观的实用方法。比如,ByteFloat, IntegerLongDouble 类都具有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"> //&lt;![CDATA[ if (window.showTocToggle) { var tocShowText = &quot;显示&quot;; var tocHideText = &quot;隐藏&quot;; showTocToggle(); } //]]&gt; </script> [编辑 ] 上下文链接

目录 上一节 Java 开发工具 下一节 变量与常量

[编辑 ] 数据类型

数据类型是程序设计语言描述事物、对象的方法。 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

分享到:
评论

相关推荐

    sqlserver数据库类型对应Java中的数据类型

    SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个广泛使用的编程语言。在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC ...

    Python数据类型详解

    Python数据类型详解

    C#中的委托数据类型简介

    什么是委托? 委托是一个类型安全的对象,它指向程序中另一个...开发者可以抽象地用 int 某名称(int x,int y) 的一种类型对方法进行封装,在c#中这种抽象的数据类型叫委托,针对上述的几个方法我们可以定义委托 : pu

    pytorch张量数据类型

    pytorch张量数据类型

    浅析C++ 数据类型

    C++是一种强大的编程语言,它的数据类型系统是其核心特性之一。C++是强类型语言,这意味着每种变量和函数都必须在使用前先被声明,声明不仅定义了变量的类型,也规定了数据在内存中的存储方式以及允许对这些数据执行...

    JavaScript 数据类型详解

    在本文中,我们将深入了解JavaScript中的数据类型,这是一项对于任何使用JavaScript进行开发的程序员来说都至关重要的基础知识点。JavaScript是一种弱类型或者说是动态类型的语言,这意味着在定义变量时,我们不需要...

    modbus数据类型解析工具

    "Modbus数据类型解析工具"是专为理解并测试Modbus协议中的数据类型设计的实用程序。这款工具能够帮助用户解析Modbus报文,进而确认和验证寄存器中的数据类型,确保通信的准确性和效率。 在Modbus协议中,数据是通过...

    老生常谈js数据类型

    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别: 基本数据类型是对值得引用,引用数据类型是对地址的引用; 基本数据类型存放在栈内存,栈内存提供了供JS代码执行的环境,引用...

    ABB工业机器人常见的数据类型.docx

    "ABB工业机器人常见的数据类型" 在本文中,我们将对ABB工业机器人中常见的数据类型进行详细的介绍。 基本数据类型 在ABB工业机器人中,基本数据类型包括bool、byte、num、dnum、string和stringdig等。 * bool...

    javascript中的五种基本数据类型

    在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。...

    JAVA数据类型思维导图

    本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...

    易语言自定义数据类型变量保存

    自定义数据类型允许用户根据需求定义自己的数据结构,比如组合多个基本数据类型,形成新的复合类型。 本案例"易语言自定义数据类型变量保存"主要关注如何保存和恢复自定义数据类型的变量。在编程中,保存数据通常是...

    JavaScript基础知识之数据类型

    数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于...

    Java数据类型的规则

    在Java中,数据类型分为两大类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。基本数据类型包括整数类型、浮点类型、字符类型和布尔类型,而引用数据类型则指的是对象、接口和数组...

    易语言取自定义数据类型大小

    在编程领域,特别是使用易语言(E语言)进行开发时,理解并操作数据类型的大小是非常重要的。易语言是一种中文编程语言,它具有直观的语法,旨在简化编程过程,尤其是对于初学者。本篇文章将深入探讨易语言中的...

    SQL Server比较常见数据类型详解

    在SQL Server中,数据类型是至关重要的概念,它决定了数据的存储方式、表现形式以及能容纳的值的范围。数据类型分为多种类别,包括整数、浮点、以及特殊的类型等。以下是对这些常见数据类型的详细说明: 1. **整数...

    java基础-数据类型

    java基础的数据类型 看这个思维导图就够了

    python3的数据类型及数据类型转换实例详解

    Python 3是目前广泛使用的Python编程语言版本,它支持多种数据类型,包括基本类型和复杂类型。在Python中,变量无需显式声明类型,变量的类型是由所赋值的类型决定的。Python 3的基本数据类型有整型(int)、浮点型...

    Python内置数据类型详解

    数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了。 Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和值之间的一对一关系。 其实就是通常所说的...

    java和c/c++ 数据类型长度的比较

    在编程语言中,数据类型的长度是非常重要的,因为它直接影响着存储空间和计算效率。本文将深入对比Java和C/C++的数据类型长度,以便更好地理解和利用它们。 首先,让我们来看C/C++的数据类型。C语言提供了多种整数...

Global site tag (gtag.js) - Google Analytics