总结下今天的知识点,记得有点多
流程控制语句 单词: Order顺序 流程控制语句分类 A:顺序结构 B:选择结构 C:循环结构 顺序结构:从上往下,依次执行 选择结构 If语句 switch语句 Switch语句 格式一: if(关键表达式){ 语句体 } 执行流程: A:首先计算关系表达式的值,看是true还是false B:如果是true,就执行语句体 C:如果是false 就不执行语句体 练习: int money = 1000; // Int a; 不可以定义,因为与下面int a作用域冲突了. If(money>1000){ // 如果只有1条语句体,{}可以不写 int a; System.out.println(“加个蛋”); } Int a; //可以定义变量 System.out.println(“煎饼果子”); 注意: 1:如果只有一个if的时候 大括号可以不写(建议还是写上); 同一个作用域中,变量名不能重复; 格式二: if(关键表达式){ 语句体1; }else{ 语句体2; } 执行流程: A:首先计算关系表达式的值,看是true还是false B:如果是true,就执行语句体1 C:如果是false 就执行语句体2 案例: 判断一个数据是偶数还是奇数; Int a = 100; If( a%2 == 0){ System.out.println(“a是偶数”); }else{ System.out.println(“a是奇数”); } 练习: boolean flag = false; If(money>1000){ System.out.println(“加个蛋”); }else{ System.out.println(“加菜”); } System.out.println(“煎饼果子”); 格式三: if(关键表达式1){ 语句体1; }else if(关键表达式2){ 语句体2; } ..... else{ 语句体n+1; } 执行流程: A:首先计算关系表达式的值,看是true还是false B:如果是true,就执行语句体1 C:如果是false 就继续执行计算关系表达式2的值,看是true还是false D:如果是true,就执行语句体2 E:如果是false 就继续执行计算关系表达式3的值,看是true还是false F: 当所有的关系表达式都是false的时候 就执行语句体N+1 案例 /*x>=3 y=2x+1; -1<=x<3 y=2x; x<=-1 y=2x-1; 根据给定义的值,计算出y的值并输出 */ int x =3; int y; if(x>=3){ y = 2*x+1; }else if(x<=-1 && x<3){ y=2*x; }else if(x>=-1){ y =2*x-1; }else{ y=0; System.out.println("没有这样的x"); } System.out.println("y的值是"+y); 练习: 1键盘录入两个数据,获取两个数据的较大值 分析: A:键盘录入的三个步骤:导包,创建键盘录入对象, 接受数据 B:获取两个数据最大值,其实就是比较看哪个数据大 C:把大的结果输出即刻; 导包: A:手动导包 B:点击鼠标自动生成 C:快捷键(推荐) Ctrl+shift+0 2 键盘录入四个整数,获取这四个中最大的数,并打印 3 键盘录入学生成绩考试,请根据成绩判断学生属于哪个级别 90 -100 优秀 80 - 90 好 70 - 80 良 60 - 70 及格 60以下不及格 Switch语句 格式: Switch(表达式){ Case 值1: 语句体1; Break; Case 值2: 语句体2; Break; ...... default : 语句体n+1; Break; } 格式解释: 表达式: byte short int char JDK5以后可以是枚举 JDK7以后可以是字符串 Case后面的值;就是用来和表达式的值进行匹配的内容 Break表示中断的意思 Default 当所有的值都不匹配的时候,执行default 里面的语句体 案例: 1根据键盘录入的数值1,2,3,4,5,6,7输出对应的星期一,星期二,星期三...星期日 2 选择题; 选出你喜欢的明星 A: 胡歌 B: 刘亦菲 C: 范冰冰 D: 刘德华 你喜欢的明星是: 循环体语句 循环语句的组成: 初始化语句 判断条件语句 循环体语句 控制条件语句 for循环语句的格式: for(初始化语句;判断条件语句;控制条件语句){ 循环体语句; } 执行流程: A: 执行初始化 B: 执行判断条件语句,看其结果是true 还是false 如果是false 就结果循环 如果是true 就继续执行 C:执行循环体语句 D:执行控制条件语句 E: 回到B继续 案例: 在控制台输出10次”holle world” 练习: 1. 获取数据1-5和5-1; 2. 键盘录入录入1和5,打印1,2,3,4,5.录入5-1,打印5,4,3,2,1 3. 求出1-5之间数据之和 分析: (1) 定义求和变量,初始化的值是0 (2) 获取1-5的数据,用for循环实现 (3) 把每一次获取到的数据累加到求和变量即可 (4) 输出求和变量 4. 求出1-5之间数据之和,打印结果:1+2+3+4+5=15 int sum = 0; for(int x=1;x<=5;x++){ if(x != 5){ System.out.print(x +"+"); sum +=x; }else{ System.out.print(x+"="); sum +=x; } } System.out.println(sum); 5. 求1-100之间的偶数和 6. 在控制台输入所有的水仙花数 水仙花数?所谓的水仙花数是一个三位数,其各位数字的立方和等于该数本身. 举例 153 就是一个水仙花数 153 = 1*1*1 + 5*5*5 + 3*3*3; 注释: 获取个位 153%10; 十位 153/10%10; 百位 153/100%10; ...... 7. 1-99,个位和十位不能包含7,这个数不能被7整除 int conut=0; ` for(int x=1;x<=99;x++){ int ge = x%10; int shi = x/10%10; if(ge!=7 && shi != 7 && x%7 != 0){ System.out.print(x +" "); conut++; if(conut%7 == 0){ System.out.println(); } }
} while语句 while循环语句格式: 初始化语句; while(判断条件语句){ 循环体语句; 控制条件语句; } 案例 1. 用while循环求1-100之间的和 do while循环语句格式: 初始化语句; do{ 循环体语句; 控制条件语句; } while(判断条件语句); 三种循环的区别: 虽然三种循环可以做相同的事情,但是它们还是有区别的: 1. do..while循环至少执行一次循环体 2. For 和while 循环必须判断条件成立才可以执行循环体 案例: 1. Boss有血量1000,每次攻击递增,从1开始,求多少次能把boss打死; 2. 每次攻击递减,从1开始 打45次,求 我的总输出有多少; 3. 键盘录入一个整数判断是几位数 跳转控制语句 break :中断的意思 使用场景: A:switch 语句中 B:循环中 作用:用于结束循环 Continue :继续的意思 使用场景:循环中 作用:结束一次循环,继续下一次的循环 案例: 键盘录入数字,当所有数字和大于100时,录入停止,并输入的数字和是多少,和输入的次数
|