《Java与面向对象程序》-2.3 运算符和表达式_第1页
《Java与面向对象程序》-2.3 运算符和表达式_第2页
《Java与面向对象程序》-2.3 运算符和表达式_第3页
《Java与面向对象程序》-2.3 运算符和表达式_第4页
《Java与面向对象程序》-2.3 运算符和表达式_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习目标熟悉Java常见运算符掌握表达式的使用主要内容算数运算符赋值运算符关系运算符条件运算符运算符优先级运算符和表达式

表达式由参与运算的操作数和运算符组成。根据操作数的数目不同,运算符分为三类:单目运算符:只需一个操作数的运算符,如:++i双目运算符:需要两个数的操作运算符,如:4*3三目运算符:需要三个操作数的运算符,如:3>0?”正数”:”负数”1.算术运算符算术运算符大多用于数学运算,其运算规则如下表。假设inta=10,b=3;运算符描述范例运行结果+正号运算符+a10-负号运算符-a-10+加法运算符a+b13-减法运算符a-b7*乘法运算符a*b30/除法运算符a/b3%求余运算符a%b1++自增运算符x=a++a=11,x=10x=++aa=11,x=11--自减运算符x=a--a=9,x=10x=--aa=9,x=9两个运算数都是整数时,进行整除运算结果符号与被除数一致,如-10%-3=-11.算术运算符注意:除法运算符‘/’:如果运算符两边都是整数,则表示两个数整除,否则表示正常的除法例如12/5,结果为2;而12.0/5,结果为2.4求余运算符:又称模除运算符。运算结果的符号与被模数(%左边的数)的符号相同,与模数(%右边的数)的符号无关

例如-8%3=-2;而8%-3=2自增、自减运算符:++a或--a称为前置增减运算符,要先加1或减1,后取值;a++或a--称为后置增减运算符,要先取值,后加1或减1。

例如inta=10,c=++a;则a先加1,再取值赋给变量c,所以a的值是11,c的值也是11。

而inta=10,

c=a++;会先取出a的值赋值给c,然后a再自增1,故a值是11,c值为10。1.算术运算符【例2-3】计算表达式的值2.赋值运算符赋值运算符及其规则如表。假设inta=10,b=3运算符描述范例运行结果=赋值a=10,b=3a=10,b=3+=加等于a+=b相当于a=a+ba=13,b=3-=减等于a-=b相当于a=a-ba=7,b=3*=乘等于a*=b相当于a=a*ba=30,b=3/=除等于a/=b相当于a=a/ba=3,b=3%=模等于a%=b相当于a=a%ba=1,b=32.赋值运算符【例2-4】交换两个变量的值3.关系与逻辑运算符关系运算符又称比较运算符,用于对两个数值,变量或表达式进行比较,结果为布尔型(即true或false)。运算规则如下表:运算符描述范例运行结果<

小于5<6true<=小于等于5<=6true>

大于5>6false>=大于等于5>=6false==等于5==6false!=不等于5!=6true3.关系与逻辑运算符逻辑运算符

用于对布尔型的数据进行操作,其结果仍然是一个布尔型。其运算规则如下表注意:逻辑表达式中并不是所有的运算对象都一定参加运算.如a&&b运算时,如果左侧表达式a的值为false,右侧表达式b将不会参与运算;a||b运算时,如果左边表达式a的值为true,右边表达式b将不会参与运算,这种现象称为短路,所以||和&&又称为短路或和短路与运算符描述范例运行结果!逻辑非!a若a为true,则!a为false;若a为false,则!a为true&&逻辑与a&&b若a、b均为true,则结果为true,否则结果为false||逻辑或a||b若a、b均为false,则结果为false,否则结果为true3.关系与逻辑运算符短路与运算的例子:intx=0;//定义变量x,并赋值为0inty=0;//定义变量y,并赋值为0booleana;//定义布尔型变量aa=(x>0&&y++>1);System.out.println("a="+a);System.out.println("y="+y);代码输出结果

a=false y=04.条件运算符条件运算符是三目运算符,有3个操作对象。格式:

表达式1?

表达式2:表达式3若表达式1为true,则表达式2的值就是整个条件表达式的值;否则表达式3的值是整个条件表达式的值。

例如

3>4?7:9,由于3>4为假值,则表达式的值为9。【例2-5】判断某整数是否为7的倍数。5.运算符的优先级与结合性优先级是指同一表达式中多个运算符被执行的次序,在表达式求值时,先按运算符的优先级别由高到低的次序执行;相同优先级的按结合性顺序执行优先级描述运算符结合性1括号运算符()自左至右2自增、自减、逻辑非++、--、!自右至左3算术运算符*、/、%自左至右4算术运算符+、-自左至右5移位运算符<<、>>、>>>自左至右6关系运算符<、<=、>、>=自左至右7关系运算符==、!=自左至右8位逻辑运算符&自左至右9位逻辑运算符^自左至右10位逻辑运算符|自左至右11逻辑运算符&&自左至右12逻辑运算符||自左至右13条件运算符?:自右至左14赋值运算符=、+=、-=、*=、/=、%=自右至左【案例2-1】数字分割

案例描述给出一个四位数字的整型变量,编程获取这个四位数的每个数字并输出。如数字8254,输出:个位数为:4十位数为:5百位数为:2千位数为:8【案例2-1】数字分割案例目标学会分析“数字分割”程序的逻辑思路;能够灵活运用运算符解决实际问题;能独立完成代码编写、调试、运行。实现思路利用Java除法运算符特性完成数字分隔:取余运算“%”,将数字对10取余可以获得最后一位数字;除法运算“/”,两个操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论