第2章 java语言的基语法第2章 java语言的基本语法第2章 java语言的基本语法第2章 java语言的基本语法.ppt

第2章 java语言的基语法第2章 java语言的基本语法第2章 java语言的基本语法第2章 java语言的基本语法.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习题: 10、下列不是关键字的是( )。 A.abstract B.boolean C.if D.main 答案:D Java虚拟机为引用变量book1、book2及book1所引用对象的成员变量分配的内存空间如下图所示。 从图中可以看出,变量book1引用了Book类的实例,book2没有引用任何实例。 下面对变量book2进行具体的初始化,将book1引用实例的地址复制给book2变量,即book2与book1引用同一个Book类的实例,具体代码如下: book2 = book1; 此时Java虚拟机的内存空间分配情况如下图所示。 2.3.4 数据类型之间的相互转换 所谓数据类型之间的相互转换,就是将变量从当前的数据类型转换为其他数据类型。 在Java中数据类型之间的相互转换可以分为以下3种情况: 基本数据类型之间的相互转换; 字符串与其他数据类型之间的相互转换; 引用数据类型之间的相互转换。 说明:这里只介绍基本数据类型之间的相互转换,其他两种情况将在相关的章节中介绍。 2.3.4 数据类型之间的相互转换 在对多个基本数据类型的数据进行混合运算时,如果这几个数据并不属于同一基本数据类型,需要先将它们转换为统一的数据类型,然后才能进行运算。 基本数据类型之间的相互转换又分为两种情况: 自动类型转换 强制类型转换。 1.自动类型转换 当需要从低级类型向高级类型转换时,编程人员无需进行任何操作,Java会自动完成类型转换。低级类型是指取值范围相对较小的数据类型,高级类型则指取值范围相对较大的数据类型,例如long型相对于float型是低级数据类型,但是相对于int型则是高级数据类型。在基本数据类型中,除了boolean类型外均可参与算术运算,这些数据类型从低到高的排序如下图所示。 自动类型转换 在不同数据类型间的算术运算中,自动类型转换可以分为两种情况进行考虑: 第一种情况 含有int、long、float或double型的数据 第二种情况 含有byte、short或char型的数据。 自动类型转换 第一种情况 如果在算术表达式中含有int、long、float或double型的数据,Java首先会将所有数据类型较低的变量自动转换为表达式中最高的数据类型,然后再进行计算,并且计算结果的数据类型是表达式中级别最高的数据类型。 例如下面这段代码: Java首先会自动将表达式“b * c - i + l”中的变量b、c和i的数据类型转换为long型。然后再进行计算,并且计算结果的数据类型为long型。 所以将表达式“b * c - i + l”直接赋值给数据类型相对小于long型(例如int型)的变量是不允许的,但是可以直接赋值给数据类型相对大于long型(例如float型)的变量。 byte b = 75; char c = c; int i = 794215; long l = 9876543210L; long result = b * c - i + l; 再看下面这段代码: Java首先会自动将表达式“b * c - i + d”中的变量b、c和i的数据类型转换为double型,然后再进行计算,并且计算结果的数据类型为double型。 所以将表达式“b * c - i + d”直接赋值给数据类型相对小于double型(例如long型)的变量是不允许的。 byte b = 75; char c = c; int i = 794215; double d = 11.17; double result = b * c - i + d; 自动类型转换 第二种情况 如果在算术表达式中只含有byte、short或char型的数据,Java首先会将所有变量的类型自动转换为int型,然后再进行计算,并且计算结果的数据类型是int型。 例如下面这段代码: Java首先会自动将表达式“b + s * c”中的变量b、s和c的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型为int型。 所以将表达式“b + s * c”直接赋值给数据类型小于int型(例如char型)的变量是不允许的,但是可以直接赋值给数据类型相对大于int型(例如long型)的变量。 byte b = 75; short s = 9412; char c = c; int result = b + s * c; 再看下面这段代码: 即使是在这段代码中,Java也会自动将表达式“s1 * s2”中的变量s1和s2的数据类型转换为int型,然后再进行计算,并且计算结果的数据类型也为int型。 对于数据类型为byte、short、int、long、float和double的变量,可以将数据

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档