你的位置:首页 > 软件开发 > Java > Java学习整理笔记(三)数据类型

Java学习整理笔记(三)数据类型

发布时间:2016-04-14 15:00:09
数据类型:数据类型确定了数据在内存中占用的存储空间以及存储方式。每个数据类型都有它的取值范围,编译器根据每个变量或常量的数据类型为其分配内存空间。Java语言的数据类型可以分为两类:一类是简单数据类型(或基本数据类型),例如整数类型、浮点数类型、字符型类型和布尔类型等;另一种是引 ...

数据类型:

数据类型确定了数据在内存中占用的存储空间以及存储方式。每个数据类型都有它的取值范围,编译器根据每个变量或常量的数据类型为其分配内存空间。

Java语言的数据类型可以分为两类:一类是简单数据类型(或基本数据类型),例如整数类型、浮点数类型、字符型类型和布尔类型等;另一种是引用类型,例如数组类型、类、接口等。

一、基本数据类型

8种基本数据类型,分别是字节型(byte)、短整型(short)、整型(int)、长整型(long)、字符型(char)、浮点型(float)、双精度型(double)、布尔型(boolean)。

1.整数类型:

Java使用4种类型的整数:byet、short、int 和 long,都是有符号的整数。

(与有符号整数对应的是无符号整数,两者的区别在于把二进制数转换为十进制数的方式不一样。有符号数把二进制的首位作为符号位,当首位数是0时,对应十进制的正整数;当首位是1时,对应十进制的负整数。无符号整数在进行进制转换时,把二进制的所有位转化为正整数。)

注意:Java不支持仅仅是正的无符号的整数。

(1)字节型(byte):最小的整数类型。有符号的8位类型,数的范围是 -128~127。当从网络或文件处理数据流的时候,字节类型的变量特别有用。

声明字节变量: byte 变量名;

(2)短整型(short):有符号的16位类型,数的范围是 -32768~32767。因为它被定义为高字节优先(称为 big-endian格式),它可能是Java中使用的最好的类型。

声明短整型变量: short 变量名;

(3)整型(int):最常用的整数类型。有符号的32位类型,数的范围是 -2147 483 648~2147 483 647。int类型的变量通常被用来控制循环及作为数组的下标。

任何时候,如果整数表达式包含 byte、short、int及整型常量。在进行计算以前,所有表达式的类型被提升(自动转换)到整型。

声明整型变量: int 变量名;

(4)长整型(long):有符号的64位类型,它对于那些整型不足以保存所要求的数值时是有用的。长整型数的范围是相当大的。

声明长整型变量: long 变量名;

2.浮点型:

Java使用两种类型的浮点数:float和double。double型的存储空间是float型的两倍,所以double型又称为双精度,而float型又称为单精度。当数据或表达式的值有精度要求时,需要使用浮点型数据。

(1)单精度浮点型(float):专指占用32位存储空间的单精度值(Single-Precision)。单精度在一些处理器上比双精度更快而且只占用双精度一般的空间,但是当值很大或很小的时候,它将变得不精确。当需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。

声明单精度浮点型变量: float 变量名;

(2)双精度浮点型(double):占用64位的存储空间。所有超出人类经验的数学函数,如sin()、cos()和sqrt()均返回双精度的值。当需要保持多次返回迭代的计算的精确时,或在操作值很大的数字时,双精度型是最好的选择。

声明双精度浮点型变量: double 变量名;

3.字符型(char):

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平表示1和0)。将字符映射为它的二进制形式的过程称为编码(Encoding)。

为了能够实现互相通信而不造成混乱,就必须使用相同的编码规则或编码方式。当前使用最广泛的两种编码方式是 统一码(Unicode)和美国标准信息交换代码(ASCII)码。

在Java中,字符型数据用 char 关键字进行定义,采用Unicode码代表字符,使用16位数据表示字符集。

4.布尔型(boolean):

Java中表示逻辑值的简单类型。它的值只能是 true(真)或 false(假)这两个值中的一个。它是所有的诸如 a<b 这样的关系运算的返回类型。布尔类型对管理像 if、for这样的控制语句的条件表达式也是必需的。

 

二、定义常量

在程序运行过程中,其值不能改变的量称为常量。常量必须在同一条语句中声明和赋值,final是声明常量的Java关键字

程序中常量名所有字母最好用大写形式,词与词之间可以用下划线隔开。

Java中常用的常量有布尔型常量、整型常量、浮点型常量、字符常量和字符串常量。

1.布尔型常量:

布尔型常量用于表示两个逻辑状态之一的值:true(真)或false(假)。不同于C/C++语言,Java语言中规定不可将布尔型看成整型值。

注意:在Java语言中,true常量的值不等于1,false常量的值不等于0,它们仅仅能被赋给已定义的布尔变量,或在布尔运算符表达式中使用。

2.整型常量:

任何一个整数的值就是一个整数常量。整型常量可以用来给整型变量赋值。整型常量有3种表示形式:

(1)十进制整型常量:如 1,25,-37等。

(2)八进制整型常量:在Java语言中,以0开头的整型量表示八进制整型常量,如 010 表示十进制的 8 ,-015 表示十进制的 -13。

(3)十六进制整型常量:在Java语言中,以 0x 或 0X 开头的整型常量表示十六进制整型常量,如 0x10 表示十进制的 16 , -0X15 表示十进制的 -21 。

在Java语言中,整形常量的默认类型为int值,用4个字节表示。当一个整型常量的值被赋给一个 byte 或 short 型的变量时,如果常量的值没有超过对应类型的范围时不会产生错误。所以,整型常量总是可以被赋给一个long型变量。但是,如果要表示一个long类型的常量,则要特别指明,即通过在常量的后面加一个大写或小写的 L 来做到,如 1234567L 等。

3.浮点型常量:

浮点型常量是可以带有小数点的数值型常量。根据占用内存长度的不同,可以分为一般浮点常量和双精度常量。如果要表示一般浮点常量,可以在数值后面加上f或F;如果要表示双精度常量,可以在数值后面加上d和D。

注意:Java中的浮点型常量默认是双精度。

默认的双精度类型要占用64位存储空间,而精确低些的浮点类型仅仅需要32位。

4.字符常量:

Java用 Unicode字符集来表示字符。Java的字符是16位值,可以被转换为整数并可进行像加(+)或减(-)这样的整数运算。

在Java语言中,有以下两种形式的字符常量:

(1)普通字符:用单引号括起来的一个字符,如 'A'、'0'、'$'等。不能写成'AB'或'12'。

注意:单引号只是界限符,字符常量只能是一个字符,不包括单引号。'a'和'A'表示不同的字符常量。

(2)转义字符:以字符\ 开头的字符序列。这是一种在屏幕上无法显示的“控制字符”,在程序中也无法用一个一般形式的字符来表示,只能采用这样的特殊形式表示。

转义字符及其作用
转义字符名称Unicode输出结果
\b退格键\u0008  将当前位置后退一个字符
\t Tab键\u0009  将当前位置移动到下一个Tab位置
\n换行符号  \u0009A将当前位置移动到下一行的开头 
\f换页 \u000C  将当前位置移动到下一页的开头 
\r回车键  \u000D 将当前位置移动到本行的开头 
\\反斜杠  \u005C 输出此字符 
\'单引号  \u0027 输出此字符 
\"双引号  \u0022 输出此字符 

 

 

5.字符串常量:

Java语言中用双引号("")括起来的字符序列表示字符串。字符串可以包含转义字符,标志字符串开始和结束的双引号必须在同一行。

可以使用连接操作符(+)将两个或多个字符串常量连接在一起组成一个新的字符串,例如 "Welcome"+"to China"的结果相当于"Welcome to China"。

注意:不能将 "ABC"错写为 'ABC'。单引号内只能包含一个字符,而双引号内可以包含一个字符串。另外,'A'和"A"表示两个不同的量,前者是一个字符常量,而后者是一个字符串常量。

在C/C++等大多数计算机语言中,字符串作为字符的数组被实现。然而,在Java中,字符串实际上是对象类型。

 

三、定义变量及其作用域

变量是Java程序的一个基本存储单元,表示内存中的一小块空间,用来存储将在程序中用到的数据。在内存中可以有很多个这样的小块空间,为了加以区分,为它们起不同的名字,这个名字就叫变量名,通常简称为变量。被称为变量是因为它们的值在程序执行中可以被改变。

变量名遵循标识符的定义规则,每个变量都有自己特定的类型,编译器可以根据变量的数据类型为变量分配合适的存储空间。

所有的变量都有一个作用域,定义变量的可见性与生存期。

1.定义变量:

在Java中,每个变量在使用之前必须先对其进行定义,即要遵循先定义后使用的原则。

定义变量的语法:

 

  数据类型 变量名[ = 初始值][,变量名 [ = 初始值]…];

原标题:Java学习整理笔记(三)数据类型

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。