运算符、表达式、语句.ppt_第1页
运算符、表达式、语句.ppt_第2页
运算符、表达式、语句.ppt_第3页
运算符、表达式、语句.ppt_第4页
运算符、表达式、语句.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第3章运算符 表达式与语句 本章导读3 1算术运算符和算术表达式3 2关系运算符与关系表达式3 3逻辑运算符与逻辑表达式3 4赋值运算符与赋值表达式3 5移位运算符3 6位运算符3 7条件运算符 本章导读3 8instanceof运算符3 9一般表达式3 10语句概述3 11分支语句3 12循环语句3 13跳转语句 本章重点 3 1算术运算符和算术表达式各种算术运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 3 2关系运算符与关系表达式各种关系运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 3 3逻辑运算符与逻辑表达式各种逻辑运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 本章重点 3 4赋值运算符赋值表达式各种赋值运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 3 5移位运算符各种移位运算符的表示 目 操作元 优先级 在表达式中的应用 3 6位运算符各种移位运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 本章重点 3 7条件运算符条件运算符的表示 结合性 目 操作元 优先级 在表达式中的应用 3 8instanceof运算符运算符的表示 结合性 目 操作元 优先级 结果3 9一般表达式概念 使用 本章重点 3 10语句概述语句分类3 11分支语句格式 流程图 使用3 12循环语句有几种循环语句 格式 流程图 使用3 13跳转语句格式 流程图 使用 3 1算术运算符和算术表达式 加减运算符 结合性是从左到右双目运算符 操作元是整型或浮点型数据优先级是4级乘 除和求余运算符 结合性是从左到右双目运算符 操作元是整型或浮点型数据5 2 2优先级是3级 自增 自减运算符 都是单目运算符 操作元必须是一个整型或浮点型变量 不能是常量或表达式 作用是使变量的值增1或减1 运算符的优先级是2级 运算符可以放在操作元之前 前置式 也可以放在操作元之后 后置式 intx 5 inty x intx 5 inty x intx 5 inty x intx 5 inty x 算术表达式用算术符号和操作元连接起来的符合Java语法规则的式子 称为算术表达式 x 2 y 30 3 y 5 12 n n 算术混合运算的精度精度从 低 到 高 排列的顺序是 byteshortintlongfloatdoubleJava将按运算符两边的操作元的最高精度保留结果的精度 5 2的结果是2 要想得到2 5 必须写成5 0 2或5 0f 2 char型数据和整型数据运算结果的精度是int 返回 3 2关系运算符与关系表达式 关系运算符用来比较两个值的关系 关系运算符的运算结果是boolean型数据 当运算符对应的关系成立时 运算结果是true 否则是false 大小关系运算符 双目运算符 操作元是数值型的常量 变量或表达式 运算符的优先级是6级 等与不等关系 都是双目运算符 运算符的级别是7级 关系表达式结果为数值型的变量或表达式可以通过关系运算符形成关系表达式 返回 3 3逻辑运算符与逻辑表达式 逻辑运算用来实现boolean型数据的逻辑 与 或 和 非 运算 运算结果是boolean型数据 逻辑 与 和逻辑 或 是双目运算符 操作元是boolean型的变量或求值结果是boolean型数据的表达式 和 的级别分别是11和12级 结合性是左到右 逻辑运算符 和 也称做短路逻辑运算符 op1 op2op1 op2 逻辑 非 是单目运算符 操作元在左面 的运算级别是2级 结合性从右到左 如 x x 逻辑表达式结果为boolean型的变量或表达式可以通过逻辑运算符形成逻辑表达式 24 18 4 0 x 0 y 0 返回 3 4赋值运算符与赋值表达式 赋值运算符 赋值运算符是双目运算符 优先级较低 是14级 结合方向右到左 左面的操作元必须是变量 左值 不能是常量或表达式 赋值表达式用赋值运算符和操作元连接起来的符合Java语法规则的式子 称为赋值表达式赋值表达式的值就是 左面变量的值 返回 3 5移位运算符 移位运算符用来对二进制位进行操作 分为左移位操作 都是双目运算符 左面的操作元称作被移位数 右面的操作数称作移位量 操作元必须是整型类型的数据a n a是被移位数 n是移位量 左移位运算符 a n运算的结果是通过将a的所有位都左移n位 每左移一个位 左边的高阶位上的0或1被移出丢弃 并用0填充右边的低位对于byte或short型数据 a n的运算结果是int型精度 运算时 计算系统首先将a升级为int型数据 对于正数将高位用0填充 负数用1填充 然后再进行移位 bytea 8 a 2 1111 1000 1111 1111 1111 1111 1111 1111 1111 1000 1111 1111 1111 1111 1111 1111 1110 0000 即得到 24 如果把a 1的结果赋值给一个byte类型变量就必须进行强制类型转换 byteb byte a 1 在进行a a n运算的结果是通过将a的所有位都移右n位 每右移一个位 右边的低阶位上的0或1被移出丢弃 并用0或1填充左边的高位bytea 9 a 2 0000 1001 0000 0000 0000 0000 0000 0000 0000 1001 0000 0000 0000 0000 0000 0000 0000 0010 例3 1 返回 即得到2 例3 1Example3 1 java importjava util publicclassExample3 1 publicstaticvoidmain Stringargs Scannerreader newScanner System in System out println 输入待移位的int型整数 intx reader nextInt System out println 输入移位量 intn reader nextInt System out println 左移位的结果 x n 输入待移位的int型整数 3输入移位量 2左移位的结果 12右移位的结果 0 输出结果 3 6位运算符 包括 按位与 运算符 按位或 运算符 按位非 运算符 按位异或 运算符 是双目运算符 对两个整型数据a b按位进行运算 运算结果是一个整型数据c 如果b的精度高于a 那么结果c的精度和b相同 是单目运算符 对一个整型数据a按位进行运算 运算结果是一个整型数据c 运算法则是 如果a b两个数据对应位都是1 则c的该位是1 否则是0 运算法则是 如果a b两个数据对应位都是0 则c的该位是0 否则是1 运算法则是 如果a b两个数据对应位相同 则c的该位是0 否则是1 运算法则是 如果a对应位是0 则c的该位是1 否则是0例3 2 返回 例3 2Example3 2 java publicclassExample3 2 publicstaticvoidmain Stringargs chara 金 木 水 火 土 charsecret z for inti 0 i a length i a i char a i secret System out printf 密文 n for inti 0 i a length i System out printf 3c a i for inti 0 i a length i a i char a i secret System out printf n原文 n for inti 0 i a length i System out printf 3c a i 密文 醫杒汎瀑坥原文 金木水火土 输出结果 3 7条件运算符 条件运算符是一个3目运算符 它的符号是 用法 op1 op2 op3要求第一个操作元op1的值必须是boolean型数据运算法则是 当op1的值是true时 op1 op2 op3运算的结果是op2的值 当op1的值是false时 op1 op2 op3运算的结果是op3的值12 8 100 200的结果是10012 8 100 200的结果是200 返回 3 8instanceof运算符 该运算符是双目运算符 左面的操作元是一个对象 右面是一个类 当左面的对象是右面的类创建的对象时 该运算的结果是true 否则是false 该运算符将在第4章以后使用 返回 例 Strings newString javaisland System out println sinstanceofString true 3 9一般表达式 Java的一般表达式就是用运算符及操作元连接起来的符合Java规则的式子 简称表达式 一个Java表达式必须能求值 即按着运算符的计算法则 可以计算出表达式的值 intx 1 y 2 n 10 x y n的值是int型数据9 intx 2 y y x的值是int型数据2 返回 3 10语句概述 Java里的语句可分为以下5类 1 方法调用语句 对象调用类中的方法产生行为 reader nextInt 2 表达式语句 一个表达式的最后加上一个分号就构成了一个语句 称作表达式语句 分号是语句不可缺少的部分 x 2 3 返回 3 复合语句 可以用 和 把一些语句括起来构成复合语句 一个复合语句也称作一个代码块 z 23 x System out println Hello 4 控制语句 条件分支语句 循环语句和跳转语句5 package语句和import语句 3 11分支语句 条件分支语句 if else 格式 if 表达式 else流程图 表达式的值必须是boolean型的 多个if else语句嵌套可以形成多条件if else语句 例3 3 用户在键盘输入3个数 程序判断这3个数能构成什么形状的三角形 表达式 true false 语句1 语句2 importjava util publicclassExample3 3 publicstaticvoidmain Stringargs Scannerreader newScanner System in doublea 0 b 0 c 0 System out print 输入边a a reader nextDouble System out print 输入边b b reader nextDouble System out print 输入边c c reader nextDouble if a b c elseif a a b b c c 输入边a 345输入边b 输入边c 3 0004 0005 000构成是直角三角形 第一次运行 输出结果 输入边a 123输入边b 输入边c 1 000000 2 000000 3 000000不能构成三角形 第二次运行 输出结果 输入边a 3810输入边b 输入边c 3 0008 00010 000构成钝角三角形 第三次运行 输出结果 有一函数 x x 1 y 2x 1 1 x 10 3x 11 x 10 写一程序在键盘输入x的值 求y值 importjava util publicclassEx31 publicstaticvoidmain Stringargs Scannerreader newScanner System in doublex y System out print 输入x x reader nextDouble System out print 输入y y reader nextDouble if x 1 if x 10 y 2 x 1 elsey 3 x 11 elsey x 输入x 2y 3 000000 第一次运行 输出结果 输入x 0 5y 0 500000 第二次运行 输出结果 输入x 11y 22 000000 第三次运行 输出结果 switch开关语句格式 switch语句中表达式的值必须是整型或字符型 常量值1到常量值n必须也是整型或字符型 执行过程 switch语句首先计算表达式的值 如果表达式的值和某个case后面的常量值相同 就执行该case里的若干个语句 直到碰到break语句为止 若没有任何常量值与表达式的值相同 则执行default后面的若干个语句 其中default是可有可无的 如果它不存在 并且所有的常量值都和表达式的值不相同 那么switch语句就不会进行任何处理 需要注意的是 在同一个switch语句中 case后的常量值必须互不相同 例3 4 使用switch语句 用户在键盘输入一个代表月份的整数 程序输出是该月属于年度的第几季度 返回 importjava util publicclassExample3 4 publicstaticvoidmain Stringargs Scannerreader newScanner System in System out println 输入一个月份 intn reader nextInt switch n case1 case2 case3 System out printf d月属于第一季度 n break case4 case5 case6 System out printf d月属于第二季度 n break case7 case8 case9 System out printf d月属于第三季度 n break case10 case11 case12 System out printf d月属于第四季度 n break default System out printf d不代表月份 n 输入一个月份 44月属于第二季度 输出结果 3 12循环语句 while循环格式 while 表达式 若干语句 流程图 表达式的值为boolean型数据 表达式 true false 循环体 do while循环格式 do 若干语句 while 表达式 do while循环和while循环的区别是 do while的循环体至少被执行一次 流程图 例3 5 分别用while和do while循环计算常数e的近似值 e 1 1 1 1 2 1 3 表达式 true false 循环体 do语句入口 向下执行 publicclassExample3 5 publicstaticvoidmain Stringargs doublesum 0 item 1 inti 1 while i 1000 sum sum item i item item 1 0 i sum sum 1 System out println e sum sum 0 i 1 item 1 do sum sum item i item item 1 0 i while i 1000 sum sum 1 System out println e sum e 2 7182818284590455e 2 7182818284590455 输出结果 for循环格式 for 表达式1 表达式2 表达式3 若干语句 表达式2 必须是一个求值为boolean型数据的表达式流程图 表达式2 true false 表达式1 循环体 表达式3 例3 6 一个数如果恰好等于它的因子之和 这个数就称为 完数 例如 6 1 2 3 下面使用for循环计算出1000内的全部完数 返回 publicclassExample3 6 publicstaticvoidmain Stringargs intsum i j for i 1 i 1000 i for j 1 sum 0 j i 2 j if i j 0 sum sum j if sum i System out printf 8d是一个完数 n i 输出结果 6是一个完数28是一个完数496是一个完数 3 13跳转语句 跳转语句是指用关键字break或continue加上分号构成的语句 在循环语句的循环体中使用跳转语句 在一个循环中 比如循环50次的循环语句中 如果在某次循环体的执行中执行了break语句 那么整个循环语句就结束 在一个循环中 比如循环50次的循环语句中 如果在某次循环体的执行中执行了continue语句 那么本次循环就结束 即不再执行本次循环中循环体中continue语句后面的语句 而转入进行下一次循环 例3 7 例3 8使用跳转语句 返回 publicclassExample3 7 publicstaticvoi

温馨提示

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

评论

0/150

提交评论