Java第2章数据类型和运算符I.pptVIP

  1. 1、本文档共83页,可阅读全部内容。
  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文档。上传文档
查看更多
Java第2章数据类型和运算符I

2.3.4 逻辑运算符 程序2.6 LogicalDemo.java 2.3.5 赋值运算符 赋值运算符(assignment operator)用来为变量指定新值。赋值运算符主要有两类,一类是使用等号(=)赋值,它把一个表达式的值赋给一个变量或对象;另一类是扩展的赋值运算符。 2.3.5 赋值运算符 1. 赋值运算符 赋值运算符“=”的一般格式为: variableName = expression; 这里,variableName为变量名,expression为表达式。其功能是将等号右边表达式的值赋给左边的变量。例如: int x = 10; int y = x + 20; 2.3.5 赋值运算符 赋值运算必须是类型兼容的,即左边的变量必须能够接受右边的表达式的值,否则会产生编译错误。如下面的语句会产生编译错误。 int j = 3.14 ; 因为3.14是double型数据,不能赋给整型变量,因为可能丢失精度。编译器的错误提示是:Type mismatch:cannot convert double to int。 2.3.5 赋值运算符 使用等号(=)可以给对象赋值,这称为引用赋值。将右边对象的引用值(地址)赋给左边的变量,这样,两个变量地址相同,即指向同一对象。如: Date d1 = new Date(); Date d2 = d1; 此时d1、d2指向同一个对象。对象引用赋值与基本数据类型的拷贝赋值是不同的。 2.3.5 赋值运算符 2. 扩展赋值运算符 在赋值运算符(=)前加上其他运算符,即构成扩展赋值运算符。它的一般格式为: variableName op = expression ; 这里op为运算符,其含义是将变量variableName 的值与expression的值做op运算,结果赋给variableName 。例如,下面两行是等价的: a + = 3 ; a = a + 3 ; 2.3.5 赋值运算符 扩展赋值运算符有11个,设a = 15, b = 3,下表给出了所有的扩展的赋值运算符及其使用方法。 扩展赋值运算符 表达式 等价表达式 结 果 += a += b a = a + b 18 -= a -= b a = a - b 12 *= a *= b a = a * b 45 /= a /= b a = a / b 5 %= a %= b a = a % b 0 = a = b a =a b 3 |= a |= b a = a | b 15 ^= a ^= b a = a ^ b 12 = a = b a = a b 120 = a = b a = a b 1 = a = b a = a b 1 2.3.6 运算符的优先级和结合性 运算优先级是指在一个表达式中出现多个运算符又没有用括号分隔时,先运算哪个后运算哪个。不同的运算符有不同的运算优先级。 结合性是指对某个运算符构成的表达式,计算时如果先取运算符左边的操作数,然后取运算符,则该运算符是左结合的,若先取运算符右侧的操作数,后取运算符,则是右结合的。赋值运算符就是右结合的 2.3.6 运算符的优先级和结合性 优先级 运算符 名 称 结合性 1 ++ -- +, - ~ ! (cast) 自增 自减 正、负 按位取反 逻辑非 类型转换 右结合 2 *, /, % 乘、除和求余 左结合 3 +, - + 加、减 字符串连接 左结合 4 , , 左移、右移、无符号右移 左结合 5 , = ,, =, instanceof 小于、小于等于、大于、大于等于、实例运算符 左结合 6 == != 相等、不相等 左结合 7 按位与、逻辑与 左结合 8 ^ 按位异或、逻辑异或 左结合 9 | 按位或、逻辑或 左结合 10 逻辑与(短路) 左结合 11 || 逻辑或(短路) 左结合 12 ? : 条件运算符 右结合 13 = +=,-=,*=,/=,%= 赋值 扩展赋值 右结合 2.3.6 运算符的优先级和结合性 无需死记硬背运算符的优先级。必要时可以在表达式中使用圆括号,圆括号的优先级最高。例如,考虑以下代码: int x = 5; int y = 5; boolean z = x * 5 == y + 20; 因为“*”和“+”的优先级比“==”高,比较运算之后,z的值是true。这个表达式的可读性较差。使用圆括号修改如下: boolean z = (x * 5) == (y + 20); 2.4 数据类型转换 通常整型、实型、字符型数据可能需要混合运算或相互赋值,这就涉及类型转换的问题。Java语言是强类型的语言,即每个常量、变量、表达式的值都有固定的类型,而且每种类型都是严格定义

文档评论(0)

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

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

1亿VIP精品文档

相关文档