




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言程序设计 王红涛 Teacher_ 使用Java操作符 n操作符使用一个以上的操作数,还会 有一个结果值。 n使用一个操作数的操作符称为一元操 作符(unary operator); n使用两个操作数的操作符称为二元操 作符( binary operator); n使用三个操作数的操作符称为三元操 作符( ternary operator)。 赋值Assignment n为赋值运算,就是把赋值号右边的值(也叫 rvalue)复制给左边 (也叫 lvalue).” nrvalue 可以是常量constant,变量 variable或有结 果值的表达式expression, lvalue必须是一个变量 ,也就是说左边的量必须有存储空间。 n例如: a = 4; n但是,不能有 4 = a; n对于简单类型的赋值,就是值的复制,如: a = b;把b的值复制到a,如果修改a的值不会影 响到b。 n如果是对于对象的赋值,就不一样了。对对象 的操作实际上是对引用的操作,例如:如果c, d是对象的引用,那么c = d ,实际上c和d引用 的是同一个对象。 n除了=, = 和 !=可用于对象以外,其它 所有的操作符只支持简单类型,另外, String 类支持 + 和 +=; n运算结果的值和类型依赖于操作符和操作 数的类型; n优先级( Precedence )是指运算符计算的 优先顺序 算术运算符Mathematical operators n下表是Java的算术运算符。 OperatorUseDescription +op1 + op2用于加法,也用于字符串连接 -op1 - op2减法 *op1 * op2乘法 /op1 / op2除法或整除 %op1 % op2取除法的余数 n运算所发生的类型转换 Data Type of Result Data Type of Operands long两个操作数都是整数,至少有一个是long . int两个操作数都是整数,都不是long . double至少有一个是double. float至少有一个是float,都不是double. Unary minus and plus operators OperatorUseDescription +op如果操作数 op 是byte, short, or char,会转换为 int 类型 -opArithmetically negates op Auto increment and decrement n自增为+, 它使操作数的值增加一个单位, 自减为 -,它使操作数的值减小一个单位。自 增和自减运算符可以放在操作数之前也可放 在操作数之后。 n放在前面,先对操作数进行自增或自减,然 后取操作数的值作为计算结果值; n放在后面,先取操作数的值作为计算结果值 ,然后再对操作数进行自增和自减。 n如下表: UseDescription op+ 先计算表达式的值,再将op增1 +op 先将op增1,再计算表达式的值 op- 先计算表达式的值,再将op减1 -op 先将op减1,再计算表达式的值 副作用 n操作符会有计算结果值,如果操 作符改变了操作数的值,这种现 象称为副作用( side effect )。 关系运算符Relational operators n关系运算的结果为boolean值 ,六个关系运算为 less than (), less than or equal to (=), equivalent (=) 和 not equivalent (!=)。 = 和 != 的操作数可以是boolean,其它关系运算符的 操作数不可以是 boolean。 n= 和 != 对于对象是比较对象的引用,而不 是比较对象本身。 n比较浮点数时,尤其要小心。 Logical operators n与 ( String sString = “x, y, z “; System.out.println(sString + x + y + z); n这里,Java 把 x, y, 和 z 转换为 String 而不是把 三者加在一起。 System.out.println(x + sString); nJava 把 x 转换为 String. System.out.println(x + y + sString); n这里, Java 先把x和y相加,然后把结果 转换为 String ,再连接起来。 类型转换 nJava 在一些情况下,会自动把某种类型 转换为另外一种合适的类型,如下: n也可明显的转换,如下: int i = 200; long l = (long)i; n在Java中, narrowing conversion类型转化 必须显式进行; nwidening conversion类型转化不必进行 显示转换。 n例2-7 nJava 中boolean 不可以进行任何类型的转换, 其它的任何简单类型之间都可以进行类型转换。 nclass类型转换不是如此 (an Oak can be cast to a Tree and vice-versa, but not to a foreign type such as a Rock.)。 类型提升Promotion n任何简单类型的算术运算和位运算,如果操作数的类型 为char, byte,或 short, 它们的值都会提升为 int ,结果 也是 int,所以如果将它赋值回位窄的类型,必须执行 强制类型转换 (因此,会损失一些信息) 。复合赋值不要 求强制类型转换。 byte x = 1, y = 2, z; z=(byte)(x+y);x+=y; n总之,在进行计算时,表达式中最大的数据类型 决定了最终的结果类型。 其他操作符 OperatorUseDescription .op1.op2引用op1的成员op2 newnew op1创建一个新的对象或数组 instanceofop1 instanceof op2 判断op1是否为op2的对象(实例 ) 表达式Expressions nexpression 就是一系列变量,操作数和 方法,最后这个表达式计算出一个值; n表达式有两方面含义:执行计算和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46023.2-2025汽车用智能变色玻璃第2部分:聚合物分散液晶调光玻璃
- GB 46033-2025粮食仓库安全操作规程
- 2025年安全生产安全生产法律法规考试题及答案
- 2025年安全生产填空题及答案大全
- 2025年宠物寄生虫防治师中级模拟题及答案
- 2025年创业实战案例分析及模拟题集
- 2025年企业安全管理员实操题集
- 2025年应急物资储备中心笔试模拟题库及解析
- 2025年金融IT工程师专业能力认证考试试题及答案解析
- 2025年建筑工程施工图设计师资格认证试题及答案解析
- 试管婴儿医院协议书
- 运输咨询服务合同协议
- 2025-2031年中国咖啡豆行业市场深度分析及投资策略研究报告
- 2024版原醛症诊断治疗的专家共识解读
- 草坪补种合同协议
- 教师名师笔试题库及答案
- 连锁公司发票管理制度
- 中级四级计算机程序员技能鉴定理论考试题(附答案)
- GB/T 45355-2025无压埋地排污、排水用聚乙烯(PE)管道系统
- 学校食堂员工薪资方案
- 2025-2030中国冷冻榴莲行业供需现状究及未来销售渠道趋势报告
评论
0/150
提交评论