版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java运算符学习目标1.熟练掌握赋值、算术、关系和逻辑、字符串连接符等运算符的使用。2.了解位、对象运算符、条件运算符和小括号、数组下标访问运算符、强制类型转换的使用。3.掌握运算符的优先级与结合性。知识图谱赋值运算符(1)赋值运算符分两类:①简单赋值运算符:“=”,是将常量、变量或表达式赋值给相应类型的变量或符号常量。②复合赋值运算符:+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=,由某种算术或位运算符结合赋值运算符形成的复合运算符。复合赋值运算符左边须为一个变量,右边可以为常量、变量或表达式。
(2)赋值运算符的结合性是从右到左。
简单赋值运算符示例:intk=96;//将字面值常量赋值给变量doublescore=k;//将变量赋值给变量finaldoublePI=3.1415;//将浮点数常量赋值给符号常量intx,y,z;//同时声明多个变量。x=y=z=90;//如果多个变量类型相同,可同时赋值。//结合性从右到做左;先把90赋值给变量z,
//在将变量z赋值给y,再将变量y赋值给变量x。赋值运算符赋值运算符复合赋值运算符示例:复合赋值简单赋值复合赋值简单赋值i+=ji=i+ji&=ji=i+ji-=ji=i-ji|=ji=i-ji*=ji=i*ji^=ji=i*ji/=ji=i/ji<<=ji=i/ji%=ji=i%ji>>=ji=i%ji>>>=ji=i>>>j算术运算符算术运算符分类:(1)单目运算符:
+(取正)、-(取负)、++(自增1)、--(自减1)。(2)双目运算符:
+(加)、-(减)、
*(乘)、/(除)、%(求余)。算术运算符(3)单目运算符的优先级高于双目运算符,它们只能作用在变量上,不能作用于常量和表达式。其中对于自增
++,自减--运算,如果变量在运算符左边,先返回变量的,变量再自增或自减;如果变量在运算符右边,变量先自增或自减,再返回变量变化后的值。算术运算符//b++,先返回2,b自增,b=2*(2+1);a为1,b为6//(b先自减),b为5,c为3
例如:inta=1,b=2;b*=b+++a;
intc=--b-2;
算术运算符(4)不同的数值数据类型数据参与算术运算,低级数据类型会自动转换为高级数据类型参与运算,结果为高级
数据类型。例如:10+7.6//结果为double型17.620L-9.5F+'A'//结果为float型10.5
算术运算符(5)整数相除如果除不尽,将舍弃余数,结果为整数。
例如:10/3//结果为int型3
1.0*10/3//结果为double型3.3333333333333335
算术运算符(6)浮点型数或变量参与运算时,计算结果在小数点后可能包含n位小数,有时候并不是精确的,存在误差。
例如:3.0-2.1//结果为double型0.89999999999999993.0F-2.1F//结果为foalt型0.90000013.0-2.1F//结果为double型0.90000009536743163.0F-2.1//结果为double型0.8999999999999999算术运算符(7)在整数除法中0可以做被除数,但是不可以做除数,0做除
数运行会抛出算术异常。
当0做被除数时,无论是除法还是求余,运算结果都是0。算术运算符(8)在浮点数除法运算中,当被除数为浮点数常量或变量时,0可以做除数。
当被除数为正数时,运算结果为Infinity,表示无穷大;
当被除数是负数时,运算结果为-Infinity,表示无穷小。例如:8.5/0;//结果为Infinity,无穷大-9.2/0;//结果为-Infinity,负无穷大算术运算符(9)在求余运算中,当被除数为浮点数常量或变量时,
0可以做除数,运算结果为NaN(非数),表示未定义或不可表示的值。
例如:6.5%0;-7.2%0;//结果都为NaN关系运算符1.关系运算符用来比较两个值的大小。关系运算符是二元运算符,运算结果是boolean型。当运算符对
应的关系成立时,运算结果是true,否则是false。关系运算符2.关系运算符的种类与举例。关系运算符功能举例运算结果可参与运算的类型==等于‘A’
==
65true所有数据类型!=不等于“abc”
!=“Abc”true所有数据类型>=大于等于7.9>=9.7false数值型数据类型<=小于等于100<‘a’false数值型数据类型3.因浮点数表示存在误差,不建议直接比较两个浮点数表达式(变量)是否相等。
例如:3.0-2.1==0.9//结果为false关系运算符请注意!关系运算符之间的优先级是不同的。关系运算符关系运算符的优先级为:>、<、>=、<=具有相同的优先级,并且高于具有相同优先级的!=、==。关系运算符的优先级高于赋值运算符而低于算术运算符,结合方向是自左向右。逻辑运算符(1)运算符分类:单目运算符:!(逻辑非);双目运算符:&&(条件与),||(条件或),^(异或)&(无条件与),|(无条件或)(2)参加逻辑运算的操作数(表达式)必须是布尔型,逻辑运算的结果也是布尔型。逻辑运算符(3)逻辑运算的规则:sexp1exp2exp1&&exp2exp1||exp2exp1^exp2!exp1exp1&exp2exp1|exp2truetruetruetruefalsefalsetruetruetruefalsefalsetruetruefalsefalsetruefalsetruefalsetruetruetruefalsetruefalsefalsefalsefalsefalsetruefalsefalse说明先计算exp1的值,如为false,则exp2不执行,直接返回结果为false。如exp1为true,再计算exp2,最后与运算返回结果。先计算exp1的值,如为ture,则exp2不执行,直接返回结果为true;若exp1为false,再计算exp2,最后或运算返回结果。两个表达式都参与运算两个表达式都参与运算两个表达式都参与运算逻辑运算符3.逻辑运算符的优先级:!运算级别最高,&&运算高于
||运算。逻辑运算符中,!具有右结合性,&&、||、^、
&、|具有左结合性。右结合性指的是:优先从右边开始运算。左结合性指的是:优先从左边开始运算:位运算符(1)位运算是对操作数以二进制位为单位进行的操作和运算,运算结果为整数。计算机内部是用补码表示数,位运算是
对数的补码进行运算,正数的补码等于原码,负数的补码
等于其相反数的原码取反加1。位运算符(2)位运算符分为逻辑位运算符和移位运算符。①逻辑位运算符:&(按位与)、|(按位或)、^(按位异或)、
~(按为取反)。②移位运算符:>>(右移位)、<<(左移位)、>>>(无符号右移)。其中~(位取反)为单目运算符,其他都是双目运算符。位运算符(3)
&(按位与)运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位同时为
1,那么计算结果才为1,否则为0。因此,任何数与0进行按位与运算,其结果都为0。
例100&6=4位运算符示例:System.out.println(100&6);//输出4System.out.println(Integer.toBinaryString(100&6));//输出二进制100,高位0省略位运算符(4)|(按位或)运算规则是:参与运算的数字,低位对齐,高位不足的补零。如果对应的二进制位只要有一个为1,那么结果就为1;如果对应的二进制位都为0,结果才为0。例100|6=102位运算符System.out.println(100|6);//输出102System.out.println(Integer.toBinaryString(100|6));//输出1100110示例:位运算符(5)
^(按位异或)运算规则是:参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位相同(同时为0或同时为1)时,结果为0;如果对应的二进制位不相同,结果则为
1。例100^6=98位运算符示例:System.out.println(100^6);//输出98System.out.println(Integer.toBinaryString(100^6));//输出二进制1100010,高位0省略位运算符(6)
~(按位取反)运算符运算规则是:只对一个操作数进行运算,将操作数二进制中的1改为0,0改为1。例4~10=-11位运算符因为在计算机中是用补码表示,最高位为1表示负数。补码求原码的方法是最高位符号位不变,其余各位求反,再加1。
补码11111111111111111111111111110101就对应于十进制-11。位运算符System.out.println(~10);//输出-11System.out.println(Integer.toBinaryString(~10));//输出二进制11111111111111111111111111110101示例:位运算符(7)<<(左移位)运算符表示向左移指定的二进制位数。其运算规则是:按二进制形式把所有的数字向左移动对应的位数,符号位不变,高位移出(舍弃),低位的空位补零。例:将整数6向左位移3位的过程,输出结果为22。System.out.println(6<<3);//输出48System.out.println(Integer.toBinaryString(6<<3));//输出二进制110000,
高位0省略System.out.println(-6<<3);//输出-48System.out.println(Integer.toBinaryString(-6<<3));//输出11111111111111111111111111010000示例:位运算符位运算符(8)>>(右移位)运算符运算规则是:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),正数高位的空位补零,负数高位的空位补1。例:将10右移3位的结果为1,过程如下:位运算符示例:System.out.println(10>>3);//输出1System.out.println(Integer.toBinaryString(10>>3));//输出1,
高位0省略System.out.println(-10>>3);//输出-2System.out.println(Integer.toBinaryString(-10>>3));//输出11111111111111111111111111111110位运算符(9)>>>(无符号右移)运算符运算规则是:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补零。例:
-10>>>3的结果为536870910,过程如下:位运算符示例:System.out.println(-10>>>3);//输出536870910System.out.println(Integer.toBinaryString(-10>>>3));//输出11111111111111111111111111110,高位0省略System.out.println(10>>>3);//输出1System.out.println(Integer.toBinaryString(10>>>3));//输出1,高位0省略对象运算符(1)new:对象实例化运算符,创建实例化一个对象,即为对象分配内存。例:Stringstr=newString(“abc”);(2)instanceof:实例运算符,运算结果为布尔值。用于测试一个对象是否为指定类的实例,是则返回true,否则返回false,一般用于条件判断。例:strinstanceofString对象运算符(3).点运算符,用于访问类的成员或对象的实例成员(包括变量与方法)。例:str.length();//访问实例方法,返回str的长度
Math.PI;//访问类常量,返回PI的常量值Math.random();//访问类方法,返回[0,1)的随机数字符串连接运算符(1)字符串连接运算符“+”,将两个字符串连接成一个字符串。(2)如果其他数据类型的操作数参与字符串连接操作,将先转化字符串再参与字符串连接操作。操作数转换为字符串规则如下:对象运算符操作数规则整数会转换成十进制数的字符串,如果是负数,前面会加上“-”。浮点数被转换成紧缩格式的字符串,如果长度超过10个字符,会以指数形式表示。字符被转换成长度为1的相同字符串。布尔值被转换成对应的“true”或“false”对象调用对象的toString()方法返回的字符串。null(变量)值为空(null),转化为字符串”null”条件运算符条件运算符(?:)语法格式:布尔表达式?表达式1:表达式2;条件运算符(?:)运算规则:如果布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值。例:intx=89;inty=97;intmax=(x>y)?x:y;//max值为97其他运算符
小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食堂承包经营废弃物处理与资源化利用合同3篇
- 2025版门卫人员招聘与培训服务合同样本4篇
- 2025年度消防系统安全评估与整改合同3篇
- 2024食品安全保密协议:食品添加剂生产与保密合同3篇
- 模具租赁及后续加工定制服务合同2025年版3篇
- 2024年项目投资合同:共担风险3篇
- 2025年度租赁权附带智能家居安装合同3篇
- 2024知名品牌家电销售代理合同
- 2025版公共广场绿化管理与景观维护服务合同4篇
- 二零二五版货车租赁与智能物流服务合同3篇
- 2025-2030年中国草莓市场竞争格局及发展趋势分析报告
- 奕成玻璃基板先进封装中试线项目环评报告表
- 广西壮族自治区房屋建筑和市政基础设施全过程工程咨询服务招标文件范本(2020年版)修订版
- 人教版八年级英语上册期末专项复习-完形填空和阅读理解(含答案)
- 2024新版有限空间作业安全大培训
- GB/T 44304-2024精细陶瓷室温断裂阻力试验方法压痕(IF)法
- 年度董事会工作计划
- 五年级上册口算练习400题及答案
- 高三数学寒假作业1
- 1例左舌鳞癌手术患者的围手术期护理体会
- (完整)100道两位数加减两位数口算题(难)
评论
0/150
提交评论