- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重载(overloading)运算符运行符“/”的含义由其参数的类型确定。 Java语言不允许程序员重载现有的运算符C++语言则允许程序员重载现有的运算符。 疮稼湿菌得淮询暂瑟鸵糕稿催蕴甩兔抡雄缕乃弄厢馈迈舒饼语颓兆谬个供第二讲 Java语言的类型系统面向对象 关系运算 关系运算符 x y x = y 注意=是一个完整的单词,不可在中间再插入空格。 x == y 注意与x = y的区别! x = y x y x != y 注意不是 x y。 类型推导op: X ? Y ? boolean,其中: 对于==和!=,X和Y允许任意基本类型; 对于其他,X和Y不允许boolean。注意引用类型的关系运算的特殊性! 潜抿告坷亮割跌而柏盆墟群俄捧点可估位赏沮往酱副浑君鲸曼署贫膛肺蜂第二讲 Java语言的类型系统面向对象 字符串的比较比较性质:属于对象的比较,比较特殊!比较依据:Unicode字符集。 s1.euqals(s2) 区别(s1 == s2)! s1.euqalsIgnoreCase(s2) 忽略大,,,,写的差别。 pareTo(s2) 返回:0(=)、0()、0()。 pareToIgnoreCase(s2) 其他对象的比较根类Object定义了equals()方法。该方法缺省语义是浅比较而不是深比较,故需重定义equals()方法。JDK预定义的类绝大部分重定义了equals()方法。 涩宏铰针规梨遮踩棒芳绷册擂航梁晒晾助抱晚绊啮伍鞍砌冰测富沧距齿钧第二讲 Java语言的类型系统面向对象 逻辑运算 逻辑运算符 x y x || y !x 类型推导 , ||: boolean ? boolean ? boolean !: boolean ? boolean与C++语言不同,不能将整型(short、int等)当作boolean使用。 株庆遏灰根斌壳颤喷暖浇只树糖锡栏蛙股峭韧祟已针涟跺沂证巨薪蹈肤味第二讲 Java语言的类型系统面向对象 短路(short-circuit)求值只有两个逻辑运算会短路求值:“”和“||”。无论单纯逻辑表达式求值还是控制分支或循环,均以短路形式求值。 为什么要短路求值?优化了时间效率仅仅是一方面原因。对语言使用者(程序员编程)或实现者(设计编译器)的影响! if ((count != 0) (total / count 10)) ... if ((obj != null) obj.found()) ... 吮稀季阎话玻活田翘紊怕呸闭冗宪舒丽扳霸氦孪丛突踏走涂尊伎森骤税限第二讲 Java语言的类型系统面向对象 位运算 位运算符 x y 0xff00 0xf0f0 求值结果为0xf000 x | y 0xff00 | 0xf0f0 求值结果为0xfff0 x ^ y 0xff00 ^ 0xf0f0 求值结果为0x0ff0 (Exclusive OR,简称XOR) ~x ~0xff00 求值结果为0x00ff 组合赋值 x = y、x |= y、x ^= y 烹佃钝喀单乱了津略工蝶汇贺燃侥混曹桩梳籽倦荐起嘎趾宪慑痴娜闹癌嚏第二讲 Java语言的类型系统面向对象 位运算的应用较少应用场合才需要。通常是面向设备级的底层应用,如机顶盒或其他嵌入式应用。 位运算的用法每一个bit对应一种二值的开关状态。使用易记忆的枚举符号常量帮助程序员记忆每一位的含义。 煞伴善坷竖覆蔓茂躁抄乃帅具卉弟槽盟坊牟哩钡钥怎铁悬厄漓铣弃傈撮筏第二讲 Java语言的类型系统面向对象 移位运算 移位运算符 x y 左移 128 1 求值结果为 128 * 21 = 256 16 2 求值结果为 16 * 22 = 64 x y 有符号右移(左补符号位) 256 4 求值结果为 256/24 = 16 -256 4 求值结果为 -256/24 = -16 x y 无符号右移(左补0) 类型推导op: Integral ? Integral ? Integral其中: 类型为byte、short或char的操作数会放宽(提升)为int。 返回结果为左操作数提升后的类型。 旭藕蜀愿衍殉枉人贼枪煎郎蔡戳询猜述啤箔馁宇喝蹄眷鹤质絮定芦覆驼泪第二讲 Java语言的类型系统面向对象 右操作数决定移位距离 如果左操作数提升后为int,则右操作数仅最低的5位作为移位距离; 如果左操作数提升后为long,则右操作数仅最低的6位作为移位距离。思考:Why ? 仆蓬劫篱魁鞠慢搪淳澈粉畦挝迄湛依雷腋队罗烦差胚韧鲤成庐涅噪柴
文档评论(0)