




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 第二章第二章运算符与表达式运算符与表达式李若亮高级软件人才实作培训专家高级软件人才实作培训专家! !本章内容l运算符运算符l数据类型转换数据类型转换l表达式表达式北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !运算符lJava语言中定义了若干运算符号,完成某种语言中定义了若干运算符号,完成某种特殊的运算特殊的运算l按照参与运算的数据的数量分为三种类型按照参与运算的数据的数量分为三种类型l一元一元/单目运算符单目运算符l二元二元/双目运算符双目运算符l三元三元/多多(三三)目运算符目运算符l按照运算符
2、的功能分为六种按照运算符的功能分为六种l算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符l位运算符位运算符移位运算符移位运算符条件运算符条件运算符北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !算术运算符l加法运算符加法运算符+a + bl减法运算符减法运算符-a - bl乘法运算符乘法运算符*a * bl除法运算符除法运算符/a / bl模运算符模运算符%a% b北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !数据类型的转换l数据类型的转换即将一种数据类型转换成另一数据类型的转换即将一种数据类型转换成另一种数据类型种数据类型l数据类
3、型转换过程中数据的类型必须可转换数据类型转换过程中数据的类型必须可转换l应用场合应用场合l二元运算符的两个操作数类型不同二元运算符的两个操作数类型不同l表达式的类型与变量的类型不同表达式的类型与变量的类型不同l转换方式转换方式l隐型隐型/自动自动 类型转换类型转换/造型造型(系统自动完成)(系统自动完成)l显型显型/强制强制 类型转换类型转换/造型造型(手工完成)(手工完成)北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !隐型转换/自动造型 int x = 1; x与与y类型不同,运算时先类型不同,运算时先 long y = 2;将将x的类型转换成的类型转换成y的类型,
4、的类型, y = x + y;然后再进行运算然后再进行运算 int a = 10;a与与d类型不同,赋值时先类型不同,赋值时先 long d;将将a的类型转换成的类型转换成d的类型,的类型, d = a;然后再进行赋值然后再进行赋值以上操作均为隐型转换以上操作均为隐型转换隐型转换的内存结构隐型转换的内存结构 ?a = d;北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !显型转换/强制造型 int a = 10;运算完毕后,等号右边的类型运算完毕后,等号右边的类型 long d = 20L;为为long型,等号左边变量类型型,等号左边变量类型 a = (int)d;为为i
5、nt型,此时必须强制将等号型,此时必须强制将等号右边的类型转换成左边的类型右边的类型转换成左边的类型int x = 1;long y = 2; x =(int)( x + y);以上操作均为显型转换以上操作均为显型转换强制转换的内存结构强制转换的内存结构强制类型转换后数据有可能与原始数据没有任何关系强制类型转换后数据有可能与原始数据没有任何关系 北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !数据类型转换与算术运算的关系l当参与算术运算的两个操作数类型不同时,低类型转换为当参与算术运算的两个操作数类型不同时,低类型转换为高类型。高类型。l当运算过程中有变量参与时,运算结
6、果类型不足当运算过程中有变量参与时,运算结果类型不足int升为升为intl高类型与低类型高类型与低类型lbytelshortlintllonglfloatfloat与与double类型转换成整型类型转换成整型ldouble时只取整数部分时只取整数部分北京传智播客教育 低低 高高高级软件人才实作培训专家高级软件人才实作培训专家! !练习/面试 byte b = 1; b = b+1; System.out.println(b); short s = 1; byte b = 2; s = s + b; System.out.println(s); long x = 1; int y = 2; y
7、= (int) y + x; System.out.println(y);北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !char与intlchar型数据每个值都有一个型数据每个值都有一个int型的表示格式型的表示格式lchar c = a; lc的值是的值是a,在参与算术时,在参与算术时,a的值取其的值取其unicode码值码值lchar c = a;lSystem.out.println(c); lSystem.out.println(c+0);lSystem.out.println(c+b);北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !
8、整数运算的临界值l当整数进行算术运算时,如果超过了边界值将当整数进行算术运算时,如果超过了边界值将自动截断超出部分,只保留对应数据范围内的自动截断超出部分,只保留对应数据范围内的数据,此数据将失去原始值所表示的真实性数据,此数据将失去原始值所表示的真实性北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !字符串连接运算符 +l连接运算符是将字符串参与到加运算中连接运算符是将字符串参与到加运算中l任何值与字符串进行任何值与字符串进行“+”运算时,均当成字运算时,均当成字符串处理,运算结果为连接完成后的字符串符串处理,运算结果为连接完成后的字符串l5+3 8l5+“3”“53”
9、l1+2+“3”“33”lint a = 1,b = 2;l“a=”+a+ “,b=”+b a=1,b=2北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !自增自减运算符 + -l自增运算符自增运算符+i+ +jl自增即在原变量数据值基础上自增即在原变量数据值基础上+1,后赋值给,后赋值给原变量原变量l自减运算符自减运算符-i-jl自增即在原变量数据值基础上自增即在原变量数据值基础上-1,后赋值给原,后赋值给原变量变量l内存结构内存结构l总结总结lX+先运算后自增先运算后自增l+X先自增后运算先自增后运算北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!
10、 !关系运算符l用于比较两个值之间的关系,运算结果为布尔值用于比较两个值之间的关系,运算结果为布尔值的的true或或falsel大于大于34l大于等于大于等于=4.5=1.8l小于小于3-5l小于等于小于等于=3.5=5l等于等于=3=3 5=4true=truel不等于不等于!=false!=false2.7!=3l?关系运算符与算术运算符共存时哪个先计算?关系运算符与算术运算符共存时哪个先计算?北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !逻辑运算符l逻辑运算是对布尔值的组合关系逻辑运算是对布尔值的组合关系l逻辑运算结果均为布尔值逻辑运算结果均为布尔值true或或
11、falsel逻辑运算分为三种逻辑运算分为三种l逻辑与逻辑与&l逻辑或逻辑或|l逻辑异或逻辑异或l逻辑非逻辑非!北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !逻辑运算真值表北京传智播客教育 &(&)truefalsetruetruefalsefalsefalsefalse| ( | )truefalsetruetruetruefalsetruefalsetruefalse!falsetruetruefalsetruefalsetruefalsetruefalse高级软件人才实作培训专家高级软件人才实作培训专家! !位运算符l位运算是针对数字的二进
12、制表示格式进行运算位运算是针对数字的二进制表示格式进行运算的一种特殊运算。的一种特殊运算。l位运算共包含四种运算,操作数均为整数位运算共包含四种运算,操作数均为整数l按位取反按位取反15l按位与按位与&13&21l按位或按位或|33|15l按位异或按位异或17114北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !按位取反 l对操作数的每一个二进制位进行对操作数的每一个二进制位进行“取反取反”操作操作l格式:格式: 操作数操作数lint a = 42;lint aa = a;lSystem.out.println(“aa=” + aa);l42 00101
13、010l l-43 11010101北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !按位与 &l将操作数的对应位逐位进行位逻辑与运算将操作数的对应位逐位进行位逻辑与运算l格式:操作数格式:操作数&操作数操作数l用途:将操作数的指定二进制位置用途:将操作数的指定二进制位置0l42 & 15 l 00101010l &00001111l 00001010l 取后四位取后四位北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !按位或 |l将操作数的对应位逐位进行位逻辑或运算将操作数的对应位逐位进行位逻辑或运算l格式:操作数格
14、式:操作数|操作数操作数l用途:将操作数的指定二进制位置用途:将操作数的指定二进制位置1l42 & 15 l 00101010l |00001111l 00101111l后四位变成后四位变成1北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !按位异或 l将操作数的对应位逐位进行位异或运算将操作数的对应位逐位进行位异或运算l格式:操作数格式:操作数操作数操作数l用途:将操作数的指定二进制位置取反用途:将操作数的指定二进制位置取反l42 & 15 l 00101010l |00001111l 00100101l后四位进行取反操作后四位进行取反操作北京传智播客教
15、育 高级软件人才实作培训专家高级软件人才实作培训专家! !移位运算符l对操作数的二进制表示形式进行左右移动对操作数的二进制表示形式进行左右移动l移位运算共包含三种运算移位运算共包含三种运算l左移左移l无符号右移无符号右移北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !左移l格式:格式:“op1 op2”l将操作数将操作数op1的二进制位向左移的二进制位向左移op2(正整数正整数)位位l低位补零低位补零lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);l42 00101010l op2”l将操作数将操作数o
16、p1的二进制位向右移的二进制位向右移op2(正整数正整数)位位l原数为正数,高位补零;原数为负数,高位原数为正数,高位补零;原数为负数,高位补补1lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);l42 00101010l 2l10 00001010 相当于相当于 42/22 = 10.5l运算速度比除法快,但要注意数据精度问题运算速度比除法快,但要注意数据精度问题北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !无符号右移l格式:格式:“op1 op2”l将操作数将操作数op1的二进制位向右移的二进制位向
17、右移op2(正整数正整数)位位l高位补零高位补零lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !条件运算符l条件运算符是目前唯一的三目运算符条件运算符是目前唯一的三目运算符l格式:格式:l条件表达式?表达式条件表达式?表达式1:表达式:表达式2 32?4:5ltrue/false?值值1:值:值2;l当条件为真时,该运算符的结果是表达式当条件为真时,该运算符的结果是表达式1l当条件为假时,该运算符的结果是表达式当条件为假时,该运算符的结果是表达式2l条件运
18、算符的结果条件运算符的结果l条件运算符的运算顺序条件运算符的运算顺序l条件运算符的特殊形式条件运算符的特殊形式北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !表达式l使用运算符和括号将操作数连接起来求值的式使用运算符和括号将操作数连接起来求值的式子子l操作数可以是变量、常量或方法操作数可以是变量、常量或方法(后期后期)l表达式类型表达式类型l算术表达式算术表达式l关系表达式关系表达式l逻辑表达式逻辑表达式l赋值表达式赋值表达式l复合赋值运算复合赋值运算北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !算术表达式l用算术运算符和括号将操作数连接起来的式子用算术运算符和括号将操作数连接起来的式子l结果为整数或实数结果为整数或实数北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !关系表达式l用关系运算符将两个表达式连接起来的式子用关系运算符将两个表达式连接起来的式子l结果为布尔型的值结果为布尔型的值北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家! !逻辑表达式l用逻辑运算符将关系表达式和布尔值连接起来用逻辑运算符将关系表达式和布尔值连接起来的式子的式子l结果为布尔型的值结果为布尔型的值北京传智播客教育 高级软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆类作物种植的农业科技成果转化考核试卷
- 2025年除草剂混剂合作协议书
- 管道工程行业政策环境与竞争力分析考核试卷
- 茶叶种类与品质鉴定考核试卷
- 康复辅具的标准化与模块化设计考核试卷
- 船舶涂料性能测试与选用考核试卷
- 商场导视系统设计
- 2025年耐火土石类项目发展计划
- 河南送变电运维安全考试
- 圆柱侧面积计算
- 起重机维护保养记录表
- 《煤矿重大危险源评估报告》
- 部编版《道德与法治》六年级下册第1课《学会尊重》精美课件
- 企业VI设计报价清单
- 监控工程验收单-范本模板
- 浙江开放大学2024年《法律文化》形考作业1-4答案
- 政治审查表(模板)
- T∕CACM 1107-2018 中医治未病实践指南 亚健康中医干预
- 数字贸易学 课件 第20、21章 数字丝绸之路与数字基础设施、数字自由贸易与数字贸易壁垒
- 地理毕业生实习报告5000字范本2篇
- (完整版)铝合金门窗施工合同范本
评论
0/150
提交评论