零点起飞学Java之基本数据类型及运算

上传人:ji****72 文档编号:50732420 上传时间:2018-08-10 格式:PPTX 页数:34 大小:547.96KB
返回 下载 相关 举报
零点起飞学Java之基本数据类型及运算_第1页
第1页 / 共34页
零点起飞学Java之基本数据类型及运算_第2页
第2页 / 共34页
零点起飞学Java之基本数据类型及运算_第3页
第3页 / 共34页
零点起飞学Java之基本数据类型及运算_第4页
第4页 / 共34页
零点起飞学Java之基本数据类型及运算_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《零点起飞学Java之基本数据类型及运算》由会员分享,可在线阅读,更多相关《零点起飞学Java之基本数据类型及运算(34页珍藏版)》请在金锄头文库上搜索。

1、第2章 基本数据类型及运算 在Java语言中定义了一组简单的基本数据类型,以及 数据类型的变量与常量。这些数据与运算符进行组 合,可以形成各种复杂的表达式,从而构成程序中 的基本运算单元。本章将针对这些基础知识逐一详 细介绍。2.1 标识符与关键字 程序中的标识符与关键字都具有一定的含义。标识 符是用户定义的程序中类、变量、常量、方法等的 标识,关键字是语言本身留作特殊用途的专用符 号。关于标识符与关键字的具体知识,下面分别进 行介绍。2.1.1 “用户的”标识符 标识符是指程序中类、变量、常量、方法等的名 字。对类、变量、常量、方法等进行定义和引用时 需要利用一定的标识进行识别,这就需要使用

2、标识 符。标识符的命名必需符合一定的规范,Java语言的 标识符命名规则如下。2.1.1 “用户的”标识符下面列举了一些合法与非法标识符,如表2-1所示。 说明:标识符的命名规则是必须遵守的,属于强 制性,不然编译时会报错。不像编程规范,属于建 议性,即使不遵守也不会引起编译上的问题。非法标识 符合法标识标识 符说 明6sdfsdf不能以数字开头头intint_1不能使用关键键字,int为为关键键字NameName不能包含符号x.yxy不能包含“.”,“.”为运算符2.1.2 “系统的”关键字 语言本身专门使用的标识符为关键字,在程序代码 中有其特殊的含义。Java常用的关键字有package

3、、 class、interface、public、private、protected、default 、int、byte、long、short、double、boolean、float、 char、if、else、while、switch、case、do、break、 continue、try、catch、finally、throw、throws、new 、this、super等。所有的关键字都为小写,每个都有 其特殊的作用。2.1.2 “系统的”关键字 用于包、类、接口定义:package、class、interface。 访问控制修饰符:public、private、protected、d

4、efault。 数据类型:int、byte、double、boolean、char 、long、short、 float。 关于流程控制:if、else、while、switch、case、do、break、 continue。 关于异常处理:try、catch、finally、throw、throws。 创建对象:new。 引用:this、super。 在使用关键字时需要注意大小写,并且关键字不能作为标识符 使用。 说明:在Java语言中还有被称为保留字的预留关键字。保留 字是指虽然现在没有作为关键字,但在将来的升级版本中有可 能成为关键字。保留字也不能用作标识符。2.2 基本数据类型 数据

5、类型指定了该类数据所占内存空间的大小、取 值范围及其可以进行的操作。Java语言中的数据类型 可分为基本数据类型和复合数据类型。基本数据类 型又称为“原始数据类型”,是其他数据类型的基 础。基本数据类型主要包括布尔类型、字符型、整 型、浮点型(实型),下面分别进行介绍。2.2.1 布尔类型boolean 布尔类型用关键字boolean表示,只有true和false两个 值。布尔类型通常用在流程控制中进行逻辑判断。 布尔型数据在机器中占1个字节,系统默认初始值为 false。 注意:不同于其他高级语言,Java语言中布尔类型 与数值型之间不能进行直接转换,也不允许将null赋 值给布尔型变量。2

6、.2.2 字符型char 字符型用关键字char表示。Java中的字符属于Unicode编 码(一种类似于ASCII码的国际标准编码,采用二字节编 码)。由于计算机底层只能处理二进制数据,要想使用 字符,就需要对字符进行编码,转换成一系列二进制数 来表示特定的字符。目前有多种编码字符集,如Unicode 、ISO-8859-1、GBK、ASCII等。 说明:Java语言不提供无符号整数类型,实际上是把字 符型作为无符号整型来对待,取值范围为02161。2.2.3 整型byte/short/int/long 整型用来表示不含小数部分的数字。Java语言中共有四种 整数类型,分别是byte、sho

7、rt、int和long。这四种整数类 型占用的内存空间各不相同,从而取值范围也不同。表2- 2介绍了它们各自的情况。 这四种整数类型都是有符号整数,Java语言没有提供无符 号整数类型。在实际使用过程中应该根据具体需要选择 相应的数据类型。在满足需求的情况下,要考虑性能, 选用合适的整数类型。数 据 类 型占用空间间/B取 值值 范 围围默 认 值byte11281270short221521510int423123110long8263263102.2.4 浮点型(float/double) 实型用来表示含有小数的数字。Java语言中共有float 和double两种实数类型。这两种实数类型

8、占用的内存 空间、取值范围各不相同。表2-3介绍了它们各自的 情况。 实型数值在计算过程中不会因为溢出而导致异常。 在超出数值范围溢出时Java定义了特殊浮点数来进行 表示,避免抛出异常。Java的这种处理方法,大大提 高了语言的健壮性,并且简化了编程。数 据 类 型占用空间间/B取 值值 范 围围默 认 值float43.4e-0383.4e+0380Fdouble81.7e-3081.7e+3080D2.2.5 数据类型转换 在程序编写过程中,不同数据类型的变量之间经常 需要赋值或运算,这就需要进行数据类型转换。各 种数据类型根据分配空间大小、取值范围不同,划 分为一定的优先级关系。再根据

9、优先级,数据类型 转换分为自动类型转换和强制类型转换。数据类型 的优先级如表2-4所示。 注意:char类型具有和byte、short类型相同的优先 级。boolean类型不能和任何数值类型进行相互转 换。由低到高byteshort(char)intlongfloatdouble1自动类型转换 自动类型转换是指由低优先级数据类型向高优先级 数据类型转换时,不需进行特别说明,系统自动完 成转换。 低优先级类型向高优先级类型赋值是自动完成的。 在进行数值运算时,不同数据类型的操作数首先转 换成相同的数据类型(都转换成操作数中最高优先 级的数据类型),然后才进行计算。 说明:char类型转换为高优先

10、级数值类型时,会转 换为对应的ASCII码值。2强制类型转换 由高优先级数据类型向低优先级数据类型转换时, 需要进行强制类型转换。强制数据类型转换的语法 格式如图2.1所示。 注意:强制类型转换时,如果超出了目标类型的 取值范围,会引起数据溢出或精度下降,应该在对 数据精度要求不严的情况下使用。2.3 运算符与表达式 表达式是具有确定值的语句,由操作数和各种运算 符按照一定的规则组成,来完成相应的运算。表达 式的值可以作为操作数,进而形成更复杂的表达 式。对于各种运算符及其对应的表达式,下面分别 进行介绍。2.3.1 算术运算符及表达式 算术运算符和操作数组成算术表达式,完成基本的 算术运算。

11、算术运算符按照操作数的个数可以分为 二元运算符和一元运算符,下面分别进行介绍。1二元算术运算符 由二元算术运算符及两个操作数组成二元算术表达 式,也就是数学计算中的四则运算。二元算术运算 符包括+(加)、(减)、*(乘)、/(除)、%( 求余)共五个运算符。二元算术表达式的语法格式 如图2.2所示。 注意:可以在赋值语句中使用简化的二元算术运 算符。比如x += 1;等价于x = x + 1;。其他-=、*=、 /=、%=均类似。2一元算术运算符 一元算术运算只包含一个操作数,由一元算术运算 符及一个操作数组成算术表达式。一元算术运算符 包括+(自加)、 (自减)两个运算符。一元算 术表达式有

12、如下四种形式。+ operation operation + - operation operation -2.3.2 赋值运算符及表达式 由赋值运算符组成的表达式为赋值表达式。赋值运算符 只有一个,即=。赋值运算符用于将运算符右边的值赋值 给左边的变量。 由赋值运算符和算术运算符可以扩展出许多赋值运算符 ,也就是前面所说的简化的二元算术运算符。扩展赋值 运算符有+=、-=、*=、/=、%=,具体用法不再赘述。 注意:像可以同时声明多个同类型变量一样,赋值语 句也可以连起来将一个值同时赋值给多个变量。比如, x=y=z=1。2.3.3 关系运算符及表达式 关系表达式由关系运算符及两个操作数组成

13、。关系 运算符都是二元运算符,用来比较两个操作数,执 行结果为布尔型。关系运算符共有六种,分别是( 大于)、=(大于等于)、(位右移)、( 无符号位右移)、&(按位与)、|(按位或)、( 按位异或)和(按位取反)。其中前六项均为二 元运算符,而(按位取反)是一元运算符。下面 分别介绍各种运算符的作用。2.3.5 位运算符及表达式 (位右移):用来将第一个操作数的二进制位向右移若干位 (移动位数为第二个操作数的值)。对于移空的部分,如果原 来最高位为0,那么就补0;如果原来最高位为1,那么就补1。 (无符号位右移):与 类似,用来将第一个操作数的二 进制位向右移若干位(移动位数为第二个操作数的值

14、)。与 不同之处是,移位时左边移空部分补0。 &(按位与):同&运算类似,只不过操作数变成0和1。0相 当于false,1相当于true。即:0 & 0 = 0,0 & 1 = 0,1 & 0 = 0 ,1 & 1 = 1。 |(按位或):同|运算类似。0 | 0 = 0,0 | 1 = 1,1 | 0 = 1,1 | 1 = 1。 (按位异或):如果两个操作数的值相同,结果为0,否则结 果为1。即:0 0 = 0,0 1 = 1,1 0 = 1,1 1 = 0。 (按位取反):为一元运算符,将二进制位取反,1变为0,0 变为1。2.3.6 条件运算符及表达式 条件运算符为三元运算符,由条件运

15、算符和三个操作数 组成三元条件表达式。三元条件表达式运算时首先判断 条件式(第一个操作数,为布尔型)的值,如果为true, 则整个表达式的结果为冒号前的值,否则为冒号后的 值。三元条件表达式的语法格式如图2.10所示。 其中,参数operation1值必需为布尔类型,可以为表达 式。参数operation2在第一个操作数的值为true时,其值作 为表达式的结果。参数operation3在第一个操作数的值为 false时,其值作为表达式的结果。2.3.7 运算符的优先级 最简单的表达式是一个变量或常量,变量或常量的值就是表达式 的值。前面讲过,表达式的值可以作为操作数,从而组成更加复 杂的表达式

16、。复杂的表达式中往往包含多个运算符,它们的计算 需要有一定的先后顺序,这就是运算符的优先级。表2-5列出了 Java语言中各种运算符的优先级顺序。 运算符优先级的顺序按表中的序号顺序由高到低。可以看到,括 号的优先级比较高。括号可以改变运算符的优先级顺序,强制优 先处理括号内的运算,括号内仍按正常的运算符优先级顺序执 行。优先级顺 序运 算 符优优先级顺级顺 序运 算 符1. ()9&2+ - instanceof103new (type)11|4* / %$12&5+ -13|6 = = =2.4 数据的表示变量与常量 变量与常量是程序中的基本数据元素。变量代表运 行过程中值可以改变的数据,常量代表运行过程中 值恒定不变的数据。关于变量与常量的具体知识, 下面分别进行介绍。2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号