《Java3、类型转换变量转换和方法转换.docVIP

《Java3、类型转换变量转换和方法转换.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java3、类型转换变量转换和方法转换

总结 大=小 对 小=大 错; 父=子 (直接转换);子=父 (周转) 类转换:子类转换成父类可以直接转换,无须强制;父类不能强制转换成子类,不过可以这样子周转后实现: Farther a=new Chind();父=子 (直接转换);或Farther a=b;(b是子类) a是父类 b是子类 class Child extends Parent{ Parent p = new Child(); //少了这句不行 Child c = (Child)p; } Which of the following assignment is not correct? A. float f = 11.1; B. double d = 5.3E12; C. double d = 3.14159; D. double d = 3.14D. 答案:(a) 题目:下面的哪些赋值语句是对的。 浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。 Which of the following statements are legal? A. long l = 4990; B. int i = 4L; C. float f = 1.1; D. double d = 34.4; E. double t = 0.9F. 答案:(ade) 题目:下面的哪些声明是合法的。 此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换(int a=(int)123L;)。 14. which three are valid declaraction of a float? A. float foo=-1; B. float foo=1.0; C. float foo=42e1; D. float foo=2.02f; E. float foo=3.03d; F. float foo=0x0123; 答案:A,D,F //int 变量可以直接赋给float; 类转换 Class Teacher and Student are subclass of class Person. Person p; Teacher t; Student s; p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } What is the result of this sentence? A. It will construct a Student object. B. The expression is legal. C. It is illegal at compilation. D. It is legal at compilation but possible illegal at runtime. 答案:(c) 题目:类Teacher和Student都是类Person的子类… p,t和s都是非空值… 这个语句导致的结果是什么 A. 将构造一个Student对象。 B. 表达式合法。 C. 编译时非法。 D. 编译时合法而在运行时可能非法。 instanceof操作符的作用是判断一个变量是否是右操作数指出的类的一个对象,由于java语言的多态性使得可以用一个子类的实例赋值给一个父类的变量,而在一些情况下需要判断变量到底是一个什么类型的对象,这时就可以使用instanceof了。当左操作数是右操作数指出的类的实例或者是子类的实例时都返回真,如果是将一个子类的实例赋值给一个父类的变量,用instanceof判断该变量是否是子类的一个实例时也将返回真。此题中的if语句的判断没有问题,而且将返回真,但是后面的类型转换是非法的,因为t是一个Teacher对象,它不能被强制转换为一个Student对象,即使这两个类有共同的父类。如果是将t转换为一个Person对象则可以,而且不需要强制转换。这个错误在编译时就可以发

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档