版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 运算符与表达式 运算:对数据进行的操作 运算符:表示各种不同运算的符号 操作数:参与运算的数据 表达式:由操作数和运算符按一定的形式组成的有意义的符号序列 操作数 操作符 1 + 1 =3.2 表达式常见类型3.3 赋值运算符赋值运算的一般形式: 变量=表达式;3.4 算术运算符一元算术运算符二元算术运算符Eg: (a/b)*b+(a%b)=a一个算术运算的例子public class ArithmaticOp public static void main(String args) int a = 5, b = 3;int c = +a / b;int c2 = a- / b;int
2、 c3 = a - 2 % b;double d = 2.5;double d2 = d % 3;System.out.println(c= + c);System.out.println(c2= + c2);System.out.println(c3= + c3);System.out.println(d2= + d2);3.5 关系运算(比较运算)Eg: 35; ab;boolean d1=3.52.6;boolean d2=A=a*2-b*9;System.out.println (“ d=+d);System.out.println(d1=+d1);System.out.println
3、(d2=+d2);System.out.println(d3=+d3);System.out.println (“ e=+e);3.6 逻辑运算逻辑运算真值表根据x和y的逻辑值,判断后列答案的正确性提示:提示:&和和|又叫做又叫做短路运算符。短路运算符。 在由他们连接组成的逻辑表达式的求值过在由他们连接组成的逻辑表达式的求值过程中,总是先求出运算符左边的表达式,再程中,总是先求出运算符左边的表达式,再根据具体情况决定是否需要计算运算符右边根据具体情况决定是否需要计算运算符右边得表达式。得表达式。 对对“|”运算,如果左边的表达式的值为运算,如果左边的表达式的值为true,则不必,则不必
4、对运算符右边的表达式在进行对运算符右边的表达式在进行计算,整个表达式的结果就为计算,整个表达式的结果就为true; 对对“&”运算,如果左边的表达式的值为运算,如果左边的表达式的值为false,则不必,则不必在运算符右边的表达式在进在运算符右边的表达式在进行运算,整个表达式的结果为行运算,整个表达式的结果为false。3.6 位运算符X8 x*2的的8次方,次方, Xn x/2的的n次方次方 面试题1.按位运算 (1) “”是按位取反运算符,对数据的每个二进制位取反。 即把1变成0,把0变成1. 例如: 00001111=11110000;按位运算通常的按位运算通常的2 2种用法种用法
5、先对某个数当中某个特定的位置清零先对某个数当中某个特定的位置清零 如对如对1001011010010110从从右边数第二位右边数第二位清零,只需将此数与清零,只需将此数与1111110111111101进行进行按位与运算按位与运算 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 - - 1 0 0 1 0 1 0 0( 1 0 0 1 0 1 0 0(其他位不变,只有从右边数第二位清零其他位不变,只有从右边数第二位清零) )取某个数中某些指定的位取某个数中某些指定的位 如要取数如要取数100101101001011
6、0中从右边数第二位,只需将此数与中从右边数第二位,只需将此数与0000001000000010进行按位与运算。进行按位与运算。 1 0 0 1 0 1 1 01 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 - - 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ( (从右边数第二位不变,其他位清零从右边数第二位不变,其他位清零) )(3) “|”“|”是按位或运算符,同样要求有两个操作数进行运算。只是按位或运算符,同样要求有两个操作数进行运算。只要两个相应位中有一个位要两个相应位中有一个位1 1,则该位的结果位,则该位的结果位1
7、1,否则结果为,否则结果为0.0.即:即: 0|0=00|0=0,0|1=1 0|1=1 ,1|0=11|0=1,1|1=11|1=1例如:例如: 1 0 1 0 0 0 0 11 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 - - 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1注意注意:按位或运算可以用来将某个数中的某些特定的位置:按位或运算可以用来将某个数中的某些特定的位置1 1,如:,如:要对数要对数1001011010010110从右数第从右数第4 4位置位置1 1,只需要将此数,只需要将此数000010000000100
8、0进行按进行按位或运算:位或运算: 1 0 0 1 0 1 1 01 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 - - 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0( (其他位不变,只有第其他位不变,只有第4 4位置位置1)1)(4)“”“”是按位异运算符,同样要求有两个操作数进行是按位异运算符,同样要求有两个操作数进行运算。如果有个两相应位相同,则该位的结果位运算。如果有个两相应位相同,则该位的结果位0 0,否则结果为否则结果为1 1,即,即: : 00=0, 01=1, 10=1 00=0, 01=1, 10=1例如:例如
9、: 1 0 1 0 0 0 0 11 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 - - 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 “&”是按位运算。是按位运算。 要求有两个操作数进行运算。如果两个相要求有两个操作数进行运算。如果两个相应位均为应位均为1,则该位的结果位,则该位的结果位1,否则结果为,否则结果为0.0&0=0, 0&1=0, 1&0=0, 1&1=1例如:例如: 1 0 1 0 0 0 0 1 &) 0 1 0 0 0 0 0 1 - 0 0 0 0 0 0 0
10、 1 按位异运算符通常的按位异运算符通常的2 2种用法种用法用来将某个数中某些特定的位取反用来将某个数中某些特定的位取反. .如要使数如要使数1001011010010110从右数第从右数第2 2位取反,只需要将此数与位取反,只需要将此数与0000001000000010进行按位异或运算即可进行按位异或运算即可. . 1 0 0 1 0 1 1 01 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 - - 1 0 0 1 0 1 0 0( 1 0 0 1 0 1 0 0(其他位不变其他位不变, ,只从右数第只从右数第2 2位取反位取反) )通过异或运
11、算,实现两个数的交换,不需要使用临时通过异或运算,实现两个数的交换,不需要使用临时变量变量例如:要交换两个整数例如:要交换两个整数a a和和b b值可通过以下语句实现值可通过以下语句实现 a=11000001a=11000001;b=01100000b=01100000; a= a b;/a= a b;/此时此时a=10100001a=10100001 b= b a;/ b= b a;/此时此时b=11000001b=11000001 a= a b;/ a= a b;/此时此时a=01100000a=01100000“&”,“|”和“”用在布布尔型操作数尔型操作数上时的运算规则余下的作
12、为现在的作业,马上就做余下的作为现在的作业,马上就做提示细节- &与&,|与| (39&52) (39&52)当(当(39)结)结果为果为false时,时,&不论是什么,不论是什么,都是都是不计算不计算1.&与与& 即使当即使当 & & 时,前面时,前面是是false时,时,后面的式后面的式子子也执行也执行 (93|58) (93|5 0 ? x : y);a = (x 0 ? x : y);max = (a z ? a : z); max = (a z ? a : z); min = (b z ? b : z); min
13、 = (b z ? b : z); System.out.println(System.out.println(最大的元素值为:最大的元素值为: + max); + max);System.out.println(System.out.println(最小的元素值为:最小的元素值为: + min); + min); 1.1. 流程控制语句 语句程序的基本组成单位. 每个语句以”;”结束语句可以是:short s=125;也可以是用 short s=125; int i= 10; ;括起来的复合语句.(一般一言叫做语句块). 空语句-仅仅由一个”;”组成的语句,叫空语句.作用:通常用做程序的流程
14、控制中的过渡语句.几种流程控制语句循环结构1.3种循环语句种循环语句(1)while语句(也可以成为也可以成为”当型当型”循环循环) 一般格式: while(布尔型表达式布尔型表达式) 循环体循环体; 布尔型表达式布尔型表达式:关系型表达式关系型表达式,逻辑型表达式逻辑型表达式, 布尔型变量布尔型变量,常量常量例题例题 用用while语句求语句求100以内的所有奇数和以内的所有奇数和int i,sum;sum=0;i=1;while(i=100) sum+=i; i+=2;System.out.println(sum);(2)do-while语句语句(“直到直到”型循环型循环)do-while
15、语句的一般格式语句的一般格式 do 循环体循环体; while(布尔型表达式布尔型表达式);解析解析: 先执行先执行do后后循环体循环体, 然后然后去判断去判断while后面的布尔型表达式后面的布尔型表达式例题例题 用用while语句求语句求100以内的所有奇数和以内的所有奇数和int i,sum;sum=0; i=1; do sum+=i; i+=2; while(i=100);System.out.println(sum);注意区别注意区别while和和do-while的语句执行顺序的语句执行顺序for语句一般表示形式语句一般表示形式: for(表达式表达式1;表达式表达式2;表达式表达式
16、3)循环体表达式循环体表达式4例如例如:要使某段代码循环要使某段代码循环1000次次for(int i=0;i=1000;i+)循环语句体循环语句体;(代码段代码段)(3)for语句语句(“当当”型循环型循环)如果遇到如果遇到死循环死循环 CTRL+C来终止程序的运行来终止程序的运行,然后打开源程序进行检查修改错误然后打开源程序进行检查修改错误,重新编译运行重新编译运行int sum=0;for(int i=1;i=100;i+=2)sum+=i;System.out.println(sum);例题例题 用用for语句求语句求100以内的所有奇数和以内的所有奇数和2.循环的嵌套编写输出一个编写
17、输出一个19的乘法表的乘法表int a,b;for(b=0;b=9;b+)/控制的是行数for(a=0;a=b;a+)/控制列数 System.out.print(a+”*”+b+”=”+a*b+t);System.out.println( );例题例题 用用for语句求语句求999以内的和以内的和int sum=0;int i;for(i=1;i1000;i+)sum+=i;System.out.println(“sum=”+sum+”and i=”+i);3.循环结构中的continue语句一般格式: continue 标号;a.不代标号continue语句作用:结束本次循环语句(终止当前
18、循环的本轮循环.并且直接开始下一轮循环)b.代标号的continue语句作用:把程序直接指向标号所指定的循环结构的下一次循环.例题 不带标号的continue习题 / /* * * 找出找出2121世纪的所有闰年,并将结果以每行世纪的所有闰年,并将结果以每行1010个年分的形式输出个年分的形式输出 * * 时间:时间:20082008年年7 7月月2222日日 * * 地点:教室地点:教室 * */ / public class EndInnerLoop public class EndInnerLoop / /* * * * *能被能被4 4整除,但不能被整除,但不能被100100整除的。整
19、除的。 * *能被能被100100整除,又能被整除,又能被400400整除的。整除的。 * */ / public static void main(String args) public static void main(String args) System.System.outout.println(21.println(21世纪的所有闰年有:世纪的所有闰年有:);); int n=0;/int n=0;/计数作用。计数作用。for(int year=2000;year3000;year+=4)for(int year=2000;year3000;year+=4) if(year%100
20、=0&year%400!=0) if(year%100=0&year%400!=0) continue;/ continue;/跳出跳出“本次本次”循环语句循环语句 System.System.outout.print(year+t);.print(year+t); n+; n+; if(n10) if(n10) continue;/ continue;/跳出跳出“本次本次”循环语句循环语句 System.System.outout.println();.println(); n=0; n=0; 例题 带标号的continue习题/ /* * * * * 打印一个三角型的打印一
21、个三角型的0909的乘法表的乘法表 * */ /public class ContinueLabel public class ContinueLabel public static void main(String args) public static void main(String args) outer: outer: for(int i=0;i10;i+)/ for(int i=0;i10;i+)/行行i i for(int j=0;j10;j+) /for(int j=0;ji)/ if(ji)/列大于行。列大于行。 System. System.outout.println()
22、;.println(); continue outer; continue outer; System. System.outout.print( +i+.print( +i+* *+j+=+(i+j+=+(i* *j);j); break 语句 break语句的一般语法格式语句的一般语法格式: break 标号标号;break语句通常情有语句通常情有2种使用情况种使用情况.(1)不带标号的情况不带标号的情况 作用作用:终止终止brake所在的循环所在的循环,转去执行其后的转去执行其后的第一条语句第一条语句.(2)带标号的情况带标号的情况 作用作用:终止由标号指出的语句块的执行终止由标号指出的
23、语句块的执行,并总从并总从紧跟该块的紧跟该块的第一条语句第一条语句处开始往下执行处开始往下执行.例题: 不带标号的break语句: - 编写找出大于1000的第三个素数public class BreakDemo public class BreakDemo public static void main(String args) public static void main(String args) int n=0; int n=0; int b=999; int b=999; outer:/ outer:/外层循环,定义一个标号。外层循环,定义一个标号。 dodo b+=2; b+=2;
24、 int m=(int) Math.ceil(Math.sqrt(b); int m=(int) Math.ceil(Math.sqrt(b); / /取得大于或等于要判断的数的平方根的最小值取得大于或等于要判断的数的平方根的最小值 for(int i=2;i=m;i+)/for(int i=2;i=m;i+)/内层循环,判断内层循环,判断b b是否为素数。是否为素数。 if(b%i=0)if(b%i=0) continue outer; continue outer; n+;n+;if(n=3)if(n=3) break; break; while(true);while(true);Sys
25、tem.out.println(System.out.println(大于大于10001000的第三个素数是:的第三个素数是:+b);+b); 例题: 带标号的break语句 public class BreakDemo1 public class BreakDemo1 public static void main(String args) public static void main(String args) int sum=0;int sum=0;coloop:coloop: while(sum=100) while(sum=100)for(int count=1;count10;co
26、unt+)for(int count=1;count60) if(sum60) break coloop;break coloop; System.out.println(sum = +sum); System.out.println(sum = +sum); 注意:在循环和判断中使用标号要遵守以下规则在循环和判断中使用标号要遵守以下规则: 如果如果break语句中使用了一个标号语句中使用了一个标号,这个标号必这个标号必须声明在一个封闭语句的前面须声明在一个封闭语句的前面; 如果如果continue语句中只用了一个标号语句中只用了一个标号,这个标这个标号必须是一个封闭标号号必须是一个封闭标号.选择语句(1)if-else语句 if-else语句根据判断语句根据判断条件的真假条件的真假来执行来执行两种操作中两种操作中的的一种一种.A.简单形式简单形式 if-else语句的一般语法形式为语句的一般语法形式为: if(布尔表达式布尔表达式) 语句语句1; else 语句语句2 B.if语句的嵌套1.嵌套的常用格式: if(布尔表达式1)语句1 else if(布尔表达式2) 语句2 else if(布尔表达式m) 语句m else语句nswitch语句开关语句 switch语句根据一个进行判断的表达式的结语句根据一个进行判断的表达式的结果来执行多个操作中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中七年级地理《5.3 多样的文化》表格式情境教学设计
- 小学三年级书法《文字头》教学设计
- 九年级物理《机械能和内能的相互转化》教学设计
- 非织造布制造工创新方法强化考核试卷含答案
- 蜡裂解及重合装置操作工保密强化考核试卷含答案
- 木雕工岗前技术基础考核试卷含答案
- 花卉加工工岗前创新意识考核试卷含答案
- 初中地理中考备考地球运动主题教学设计
- 小学五年级音乐《冬雪》主题情境教学设计与实践
- 记号笔制造工保密意识竞赛考核试卷含答案
- 2026高考议论文范文19篇(完整版含真题立意+考场高分作文)
- 2026-2027学年苏教版(新教材)小学科学五年级上册(全册)知识点清单
- 2026年湖南省中考历史试卷(含答案)
- 《计算机程序设计员》教学大纲-初中级
- 500kV变压器保护及并联电抗器保护技术规范
- 两办意见、《条例》、八项硬措施、治本攻坚三年行动方案学习课件
- 同济大学浙江学院《免疫学及病原生物学》2023-2024学年第一学期期末试卷
- 设备部工作规划
- 提高有风险患者预防跌倒坠床护理措施落实率品管圈PDCA案例汇报
- GB 28316-2012 食品安全国家标准 食品添加剂 番茄红
- 年产量400万辆自行车车圈电镀车间设计论文
评论
0/150
提交评论