Java选择结构和三目运算笔记大全.docx
- 文档编号:29293460
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:27
- 大小:19.84KB
Java选择结构和三目运算笔记大全.docx
《Java选择结构和三目运算笔记大全.docx》由会员分享,可在线阅读,更多相关《Java选择结构和三目运算笔记大全.docx(27页珍藏版)》请在冰豆网上搜索。
Java选择结构和三目运算笔记大全
1双目运算
/*
单目运算符:
~3
双目运算符:
3+4
三目运算符:
格式:
比较表达式?
表达式1:
表达式2;
比较表达式:
结果是一个boolean类型。
执行流程:
根据比较表达式的计算返回一个true或者false。
如果是true,就把表达式1作为结果。
如果是false,就把表达式2作为结果。
*/
classOperatorDemo{
publicstaticvoidmain(String[]args){
intx=100;
inty=200;
intz=((x>y)?
x:
y);
//intz=((x x: y); //intz=((x==y)? x: y); //报错 //intz=((x=y)? x: y); System.out.println("z: "+z); } } 2练习 /* 练习: 获取两个整数中的最大值 获取三个整数中的最大值 比较两个整数是否相同 */ classOperatorTest{ publicstaticvoidmain(String[]args){ //获取两个整数中的最大值 intx=100; inty=200; intmax=(x>y? x: y); System.out.println("max: "+max); System.out.println("--------"); //获取三个整数中的最大值 inta=10; intb=30; intc=20; //分两步: //A: 先比较a,b的最大值 //B: 拿a,b的最大值在和c进行比较 inttemp=((a>b)? a: b); //System.out.println(temp); intmax1=(temp>c? temp: c); System.out.println("max1: "+max1); //一步搞定 //intmax2=(a>b)? ((a>c)? a: c): ((b>c)? b: c); //这种做法不推荐。 //intmax2=a>b? a>c? a: c: b>c? b: c; //System.out.println("max2: "+max2); System.out.println("--------"); //比较两个整数是否相同 intm=100; intn=200; //booleanflag=(m==n)? true: false; booleanflag=(m==n); System.out.println(flag); } } 3键盘录入 /* 为了让程序的数据更符合开发的数据,我们就加入了键盘录入。 让程序更灵活一下。 那么,我们如何实现键盘数据的录入呢? A: 导包 格式: importjava.util.Scanner; 位置: 在class上面。 B: 创建键盘录入对象 格式: Scannersc=newScanner(System.in); C: 通过对象获取数据 格式: intx=sc.nextInt(); */ importjava.util.Scanner; classScannerDemo{ publicstaticvoidmain(String[]args){ //创建键盘录入数据对象 Scannersc=newScanner(System.in); System.out.println("请你输入一个数据: "); intx=sc.nextInt(); System.out.println("你输入的数据是: "+x); } } 4练习 /* 键盘录入练习: 键盘录入两个数据,并对这两个数据求和,输出其结果 */ importjava.util.Scanner; classScannerTest{ publicstaticvoidmain(String[]args){ //键盘录入两个数据,并对这两个数据求和,输出其结果 //创建键盘录入对象 Scannersc=newScanner(System.in); System.out.println("请输入第一个数据: "); intx=sc.nextInt(); System.out.println("请输入第二个数据: "); inty=sc.nextInt(); //把键盘录入的数据进行相加即可 intsum=(x+y); System.out.println("sum: "+sum); } } 练习2 /* 键盘录入练习: 键盘录入两个数据,获取这两个数据中的最大值 */ importjava.util.Scanner; classScannerTest2{ publicstaticvoidmain(String[]args){ //创建键盘录入对象 Scannersc=newScanner(System.in); System.out.println("请输入第一个数据: "); inta=sc.nextInt(); System.out.println("请输入第二个数据: "); intb=sc.nextInt(); //获取这两个数据中的最大值 intmax=(a>b? a: b); System.out.println("max: "+max); } } 练习3 /* 练习: 键盘录入三个数据,获取这三个数据中的最大值 键盘录入两个数据,比较这两个数据是否相等 */ importjava.util.Scanner; classScannerTest3{ publicstaticvoidmain(String[]args){ //键盘录入三个数据,获取这三个数据中的最大值 //创建键盘录入对象 Scannersc=newScanner(System.in); System.out.println("请输入第一个数据: "); inta=sc.nextInt(); System.out.println("请输入第二个数据: "); intb=sc.nextInt(); System.out.println("请输入第三个数据: "); intc=sc.nextInt(); //获取这三个数据中的最大值 inttemp=((a>b)? a: b); intmax=(temp>c? temp: c); System.out.println("max: "+max); System.out.println("------------------"); //键盘录入两个数据 System.out.println("请输入第一个数据: "); intx=sc.nextInt(); System.out.println("请输入第二个数据: "); inty=sc.nextInt(); //比较这两个数据是否相等 booleanflag=(x==y); System.out.println("flag: "+flag); } } 3顺序结构 /* 流程控制语句: 可以控制程序的执行流程。 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行。 */ classShunXuJieGouDemo{ publicstaticvoidmain(String[]args){ System.out.println("程序开始了"); System.out.println("我爱Java"); System.out.println("程序结束了"); } } 4if语句 /* 选择结构: if语句 switch语句 if语句: 格式1 格式2 格式3 if语句的格式: if(比较表达式){ 语句体; } 执行流程: 先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体; 如果是false,就不执行语句体; */ classIfDemo{ publicstaticvoidmain(String[]args){ intx=10; if(x==10){ System.out.println("x等于10"); } if(x==20){ System.out.println("x等于20"); } System.out.println("over"); } } /* if语句的注意事项: A: 比较表达式无论简单还是复杂,结果必须是boolean类型 B: if语句控制的语句体如果是一条语句,大括号可以省略; 如果是多条语句,就不能省略。 建议永远不要省略。 C: 一般来说: 有左大括号就没有分号,有分号就没有左大括号 */ classIfDemo2{ publicstaticvoidmain(String[]args){ intx=10; if(x==10){ System.out.println("x等于10"); } if((x>5)||(x==10)){ System.out.println("x大于或者等于10"); } System.out.println("-------------------"); inta=100; /* if(a==100){ System.out.println("a的值是100"); } */ if(a! =100){ System.out.println("a的值是100"); System.out.println("over"); } System.out.println("-------------------"); intb=100; if(b! =100);//这里其实是有语句体的,只不过是空语句体。 //代码块 { System.out.println("b的值是100"); System.out.println("over"); } } } 5if语句格式2 /* if语句格式2: if(比较表达式){ 语句体1; }else{ 语句体2; } 执行流程: 首先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体1; 如果是false,就执行语句体2; 注意: else后面是没有比较表达式的,只有if后面有。 */ classIfDemo3{ publicstaticvoidmain(String[]args){ //判断两个数据是否相等 inta=10; intb=20; if(a==b){ System.out.println("a等于b"); }else{ System.out.println("a不等于b"); } } } /* 由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。 所以,我们就认为他们可以完成一样的操作。 但是,他们就一点区别没有吗? 肯定不是。 区别: 三元运算符实现的,都可以采用if语句实现。 反之不成立。 什么时候if语句实现不能用三元改进呢? 当if语句控制的操作是一个输出语句的时候就不能。 为什么呢? 因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。 */ classIfDemo4{ publicstaticvoidmain(String[]args){ //获取两个数据的最大值 inta=10; intb=20; //用if语句实现 intmax1; if(a>b){ max1=a; }else{ max1=b; } System.out.println("max1: "+max1); //用三元改进 intmax2=(a>b)? a: b; System.out.println("max2: "+max2); System.out.println("----------"); //判断一个数据是奇数还是偶数,并输出是奇数还是偶数 intx=100; if(x%2==0){ System.out.println("100是一个偶数"); }else{ System.out.println("100是一个奇数"); } //用三元改进 //这种改进是错误的。 //Strings=(x%2==0)? System.out.println("100是一个偶数");: System.out.println("100是一个奇数");; } } 6if语句格式3 /* if语句的格式3: if(比较表达式1){ 语句体1; }elseif(比较表达式2){ 语句体2; }elseif(比较表达式3){ 语句体3; } ... else{ 语句体n+1; } 执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束。 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束。 如果是false,接着计算比较表达式3看其返回值是true还是false, ... 如果都是false,就执行语句体n+1。 */ importjava.util.Scanner; classIfDemo5{ publicstaticvoidmain(String[]args){ //需求: 键盘录入一个成绩,判断并输出成绩的等级。 /* 90-100优秀 80-90好 70-80良 60-70及格 0-60不及格 */ //创建键盘录入对象 Scannersc=newScanner(System.in); //录入数据 System.out.println("请输入你的考试成绩: "); intscore=sc.nextInt(); /* if(score>=90&&score<=100){ System.out.println("优秀"); }elseif(score>=80&&score<90){ System.out.println("好"); }elseif(score>=70&&score<80){ System.out.println("良"); }elseif(score>=60&&score<70){ System.out.println("及格"); }else{ System.out.println("不及格"); } */ //这样写已经满足我的基本要求,但是可能别人在使用的时候,不会按照你要求的数据给出了。 //在做一个程序的基本测试的时候,一定要考虑这样的几个问题: //正确数据,错误数据,边界数据。 //而我们刚才写的程序并没有处理错误数据,所以这个程序不是很好,要改进 /* if(score>=90&&score<=100){ System.out.println("优秀"); }elseif(score>=80&&score<90){ System.out.println("好"); }elseif(score>=70&&score<80){ System.out.println("良"); }elseif(score>=60&&score<70){ System.out.println("及格"); }elseif(score>=0&&score<60){ System.out.println("不及格"); }else{ System.out.println("你输入的成绩有误"); } */ //另一种判断改进 if(score<0||score>100){ System.out.println("你输入的成绩有误"); }elseif(score>=90&&score<=100){ System.out.println("优秀"); }elseif(score>=80&&score<90){ System.out.println("好"); }elseif(score>=70&&score<80){ System.out.println("良"); }elseif(score>=60&&score<70){ System.out.println("及格"); }else{ System.out.println("不及格"); } } } 7 /* if语句格式2的练习: A: 获取两个数据中较大的值 B: 判断一个数据是奇数还是偶数,并输出是奇数还是偶数 */ importjava.util.Scanner; classIfTest{ publicstaticvoidmain(String[]args){ //创建键盘录入对象 Scannersc=newScanner(System.in); //获取两个数据中较大的值 System.out.println("请输入第一个数据: "); inta=sc.nextInt(); System.out.println("请输入第二个数据: "); intb=sc.nextInt(); //定义一个变量接收最大值 intmax; if(a>b){ max=a; }else{ max=b; } System.out.println("max: "+max); System.out.println("----------------"); //判断一个数据是奇数还是偶数 System.out.println("请输入你要判断的数据: "); intx=sc.nextInt(); if(x%2==0){ System.out.println(x+"这个数据是偶数"); }else{ System.out.println(x+"这个数据是奇数"); } } } 8三种if的比较 /* 三种if语句分别适合做什么事情呢? 格式1: 适合做单个判断 格式2: 适合做两个判断 格式3: 适合做多个判断 需求: 键盘录入x的值,计算出y的并输出。 x>=3y=2x+1; -1<=x<3y=2x; x<=-1y=2x–1; 分析: A: 由于数据要键盘录入,所以必须使用Scanner。 B: 由于是三种判断,所以我们选择if语句格式3。 */ importjava.util.Scanner; classIfTest2{ publicstaticvoidmain(String[]args){ //创建键盘录入对象 Scannersc=newScanner(System.in); System.out.println("请输入x的值: "); intx=sc.nextInt(); //定义一个y inty; //用if语句格式3进行判断 if(x>=3){ y=2*x+1; }elseif(x>=-1&&x<3){ y=2*x; }else{ y=2*x-1; } System.out.println("y: "+y); } } 9键盘录入 /* 键盘录入月份的值,输出对应的季节。 春3,4,5 夏6,7,8 秋9,10,11 冬12,1,2 分析: A: 键盘录入月份的值,所以我们要使用Scanner。 B: 我们应该判断这个月份在那个季节,而这个判断情况较多,所以,用if语句格式3。 if语句的使用场景: A: 针对表达式是一个boolean类型的判断 B:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 选择 结构 运算 笔记 大全