1、Java选择结构和三目运算笔记大全1 双目运算/* 单目运算符:3 双目运算符:3 + 4 三目运算符: 格式:比较表达式?表达式1:表达式2; 比较表达式:结果是一个boolean类型。 执行流程: 根据比较表达式的计算返回一个true或者false。 如果是true,就把表达式1作为结果。 如果是false,就把表达式2作为结果。*/class OperatorDemo public static void main(String args) int x = 100; int y = 200; int z = (x y)? x: y); /int z = (x y? x: y); Syst
2、em.out.println(max:+max); System.out.println(-); /获取三个整数中的最大值 int a = 10; int b = 30; int c = 20; /分两步: /A:先比较a,b的最大值 /B:拿a,b的最大值在和c进行比较 int temp = (a b)? a: b); /System.out.println(temp); int max1 = (temp c? temp: c); System.out.println(max1:+max1); /一步搞定 /int max2 = (a b)?(a c)? a: c):(b c)? b: c)
3、; /这种做法不推荐。 /int max2 = a b?a c? a: c:b c? b: c; /System.out.println(max2:+max2); System.out.println(-); /比较两个整数是否相同 int m = 100; int n = 200; /boolean flag = (m = n)? true: false; boolean flag = (m = n); System.out.println(flag); 3 键盘录入/* 为了让程序的数据更符合开发的数据,我们就加入了键盘录入。 让程序更灵活一下。 那么,我们如何实现键盘数据的录入呢? A:
4、导包 格式: import java.util.Scanner; 位置: 在class上面。 B:创建键盘录入对象 格式: Scanner sc = new Scanner(System.in); C:通过对象获取数据 格式: int x = sc.nextInt();*/import java.util.Scanner;class ScannerDemo public static void main(String args) /创建键盘录入数据对象 Scanner sc = new Scanner(System.in); System.out.println(请你输入一个数据:); int
5、 x = sc.nextInt(); System.out.println(你输入的数据是:+x); 4 练习/* 键盘录入练习: 键盘录入两个数据,并对这两个数据求和,输出其结果*/import java.util.Scanner;class ScannerTest public static void main(String args) /键盘录入两个数据,并对这两个数据求和,输出其结果 /创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println(请输入第一个数据:); int x = sc.nextInt(); Sy
6、stem.out.println(请输入第二个数据:); int y = sc.nextInt(); /把键盘录入的数据进行相加即可 int sum = (x + y); System.out.println(sum:+sum); 练习2/* 键盘录入练习:键盘录入两个数据,获取这两个数据中的最大值*/import java.util.Scanner;class ScannerTest2 public static void main(String args) /创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println(请
7、输入第一个数据:); int a = sc.nextInt(); System.out.println(请输入第二个数据:); int b = sc.nextInt(); /获取这两个数据中的最大值 int max = (a b? a: b); System.out.println(max:+max); 练习3/* 练习: 键盘录入三个数据,获取这三个数据中的最大值 键盘录入两个数据,比较这两个数据是否相等*/import java.util.Scanner;class ScannerTest3 public static void main(String args) /键盘录入三个数据,获取
8、这三个数据中的最大值 /创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println(请输入第一个数据:); int a = sc.nextInt(); System.out.println(请输入第二个数据:); int b = sc.nextInt(); System.out.println(请输入第三个数据:); int c = sc.nextInt(); /获取这三个数据中的最大值 int temp = (a b)? a: b); int max = (temp c? temp : c); System.out.pri
9、ntln(max:+max); System.out.println(-); /键盘录入两个数据 System.out.println(请输入第一个数据:); int x = sc.nextInt(); System.out.println(请输入第二个数据:); int y = sc.nextInt(); /比较这两个数据是否相等 boolean flag = (x = y); System.out.println(flag:+flag); 3 顺序结构/* 流程控制语句:可以控制程序的执行流程。 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行。*/class Shun
10、XuJieGouDemo public static void main(String args) System.out.println(程序开始了); System.out.println(我爱Java); System.out.println(程序结束了); 4 if语句/* 选择结构: if语句 switch语句 if语句: 格式1 格式2 格式3 if语句的格式: if(比较表达式) 语句体; 执行流程: 先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体; 如果是false,就不执行语句体;*/class IfDemo public static
11、 void main(String args) int x = 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:一般来说:有左大括号就没有分号,有分号就没有左大括号*/class IfDemo2 public static void m
12、ain(String args) int x = 10; if(x = 10) System.out.println(x等于10); if(x 5) | (x = 10) System.out.println(x大于或者等于10); System.out.println(-); int a = 100; /* if(a = 100) System.out.println(a的值是100); */ if(a != 100) System.out.println(a的值是100); System.out.println(over); System.out.println(-); int b = 1
13、00; if(b != 100); /这里其实是有语句体的,只不过是空语句体。 /代码块 System.out.println(b的值是100); System.out.println(over); 5 if语句格式2/* if语句格式2: if(比较表达式) 语句体1; else 语句体2; 执行流程: 首先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体1; 如果是false,就执行语句体2; 注意:else后面是没有比较表达式的,只有if后面有。*/class IfDemo3 public static void main(String args)
14、/判断两个数据是否相等 int a = 10; int b = 20; if(a = b) System.out.println(a等于b); else System.out.println(a不等于b); /* 由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。 所以,我们就认为他们可以完成一样的操作。 但是,他们就一点区别没有吗?肯定不是。 区别: 三元运算符实现的,都可以采用if语句实现。反之不成立。 什么时候if语句实现不能用三元改进呢? 当if语句控制的操作是一个输出语句的时候就不能。 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
15、*/class IfDemo4 public static void main(String args) /获取两个数据的最大值 int a = 10; int b = 20; /用if语句实现 int max1; if(a b) max1 = a; else max1 = b; System.out.println(max1:+max1); /用三元改进 int max2 = (a b)? a: b; System.out.println(max2:+max2); System.out.println(-); /判断一个数据是奇数还是偶数,并输出是奇数还是偶数 int x = 100; if
16、(x%2 = 0) System.out.println(100是一个偶数); else System.out.println(100是一个奇数); /用三元改进 /这种改进是错误的。 /String s = (x%2 = 0)?System.out.println(100是一个偶数);:System.out.println(100是一个奇数); 6 if语句格式3/* if语句的格式3: if(比较表达式1) 语句体1; else if(比较表达式2) 语句体2; else if(比较表达式3) 语句体3; . else 语句体n+1; 执行流程: 首先计算比较表达式1看其返回值是true还
17、是false, 如果是true,就执行语句体1,if语句结束。 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束。 如果是false,接着计算比较表达式3看其返回值是true还是false, . 如果都是false,就执行语句体n+1。*/import java.util.Scanner;class IfDemo5 public static void main(String args) /需求:键盘录入一个成绩,判断并输出成绩的等级。 /* 90-100 优秀 80-90 好 70-80 良 60-70 及格 0-60
18、不及格 */ /创建键盘录入对象 Scanner sc = new Scanner(System.in); /录入数据 System.out.println(请输入你的考试成绩:); int score = sc.nextInt(); /* if(score=90 & score=80 & score=70 & score=60 & score=90 & score=80 & score=70 & score=60 & score=0 & score60) System.out.println(不及格); else System.out.println(你输入的成绩有误); */ /另一种判断
19、改进 if(score100) System.out.println(你输入的成绩有误); else if(score=90 & score=80 & score=70 & score=60 & score b) max = a; else max = b; System.out.println(max:+max); System.out.println(-); /判断一个数据是奇数还是偶数 System.out.println(请输入你要判断的数据:); int x = sc.nextInt(); if(x%2 = 0) System.out.println(x+这个数据是偶数); else
20、 System.out.println(x+这个数据是奇数); 8 三种if的比较/* 三种if语句分别适合做什么事情呢? 格式1:适合做单个判断 格式2:适合做两个判断 格式3:适合做多个判断 需求: 键盘录入x的值,计算出y的并输出。 x=3 y = 2x + 1; -1=x3 y = 2x; x= 3) y = 2*x + 1; else if(x=-1 & x3) 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:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1