/*流程控制语句 * 顺序结构:从上往下按顺序执行 *分支结构: * if语句的第一种格式 * if(关系表达式){ * 语句体; * } *执行流程: * 1.先计算表达式的值 * 2.如果值为true就执行语句体,为false就不执行语句体 * 3.继续执行后面的其他语句 * if注意点:1.大括号的开头可以另起一行,但建议写在第一行末尾 * 2.语句体中要是只有一句代码,大括号可以省略不写 * 3.如果对一个布尔类型的变量进行判断,不要用==号,直接把变量写在小括号即可 * if语句的第二种格式 * if(关系表达式){ * 语句体1; * }else{ * 语句体2; * } * if语句的第三种格式 * 在实际开发中如果是多情况判断,会使用到if的第三种格式 * * if语句的第二种格式 * if(关系表达式){ * 语句体1; * }else if{ * 语句体2; * } * ... * else * 语句体n+1; * } * * switch语句格式说明 * switch(表达式){ * case 值1: * 语句体1; * break; case 值1: * 语句体2; * break; * ... * default: * 语句体n+1; * break; * } * 格式说明: * 1.表达式:(将要匹配的值)取值为byte,short,int,char,JD5以后可以是枚举,JD7以后可以是String. * 2.case后面跟的是和表达式进行比较的值(被匹配的值) * break:表示中断,结束的意思,用来结束switch语句 * 4.default:表示所有情况都不匹配的时候,就执行该处的内容。和if语句的else相似 * 5.case后面的值只能是直面量,不能是变量 * 6.case给出的值不允许重复 * * case穿透问题 * 就是语句体中没有写break导致的 * 执行流程: * 首先还是会拿着小括号中的表达式跟下面每一个case进行匹配 * 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句 * 如果没有发现break,那么程序会继续执行下一个case的语句体,直到break或者有大括号为止 * 使用场景: * 如果多个case的语句体重复了,那么我们考虑利用穿透去简化结构 * * switch的新特性 * (JDK12以后) * switch(number){ * case 1 -> { * System.out.println("一"); * } * * * case 2 -> { * System.out.println("二"); * } * * default -> {System.out.println("没有这个选项"); * } * } * * switch和if第三种格式各自的使用场景 * if的第三种格式,一般用于对范围的判断 * switch:把有限个数据一一列举出来,让我们任选其一 * */ /*循环结构 for循环 * 格式: * for(初始化语句;条件判断语句;条件控制语句){ * 循环体语句; * } * 执行流程: * 1.执行初始化语句 * 2.执行条件判断语句,看其结果是true还是false * 如果是false,循环结束 * 如果是true,执行循环体语句 * 3.执行条件控制语句 * 4.回到2继续执行条件判断语句 * * while循环 格式: 初始化语句; while(条件判断语句){ 循环体语句; 条件控制语句; } for和while的对比 相同点:运行规则都是一样的 for和while的区别: for循环中:知道循环次数或者循环范围 while循环:不知道循环的次数和范围,只知道循环结束条件 do...while循环 初始化语句; do{ 循环体语句; 条件控制语句; }while(条件判断语句) * */ /* * 无限循环 * for(;;){ * System.out.println("1"); * } * * do{ * System.out.println("1"); * }while(true); * * while(true){ * System.out.println("1"); * } * 跳转控制语句 * continue:结束本次循环,继续执行下次循环 * break:结束整个循环 * * for(int i = 1; i<=5; i++){ * if(i==3){ * continue; * //结束本次循环,继续下次循环 * } * System.out.println("1") * * 获取随机数 * java帮我们写好了一个类叫Random,这个类就可以生成一个随机数 * 使用步骤: * 1.导包 * import java.util.Random * 2.创建对象 * Random r = new Random(); * 上面这个格式里面,只有r是变量名,可以变,其他的都不允许变 * 3.生成随机数 * int number = r.nextInt(随机数的范围); * * 生成任意数到任意数之间的随机数(比如1~100) * 1.让这个范围头尾都减去一个值,让这个范围从0开始 * 2.尾巴+1 * 3.最终结果,再加上第一步减去的值 * 比如1~100 * Random r = new Random(); * int number = r.nextInt(bound 100) +1; * System.out.println(number); * */
import java.util.Scanner; public class one { public static void main(String[] args) { //流程控制——顺序结构 System.out.println('1'); System.out.println('2'); //流程控制-分支结构 Scanner sc = new Scanner(System.in); System.out.println("酒量好"); int wine = sc.nextInt(); if (wine > 6){ System.out.println("不错"); } boolean falg =true; if (falg){ System.out.println("为true"); } Scanner a = new Scanner(System.in); System.out.println("请输入"); int no = sc.nextInt(); switch (no){ case 1: System.out.println("1"); break; case 2: System.out.println("2"); default: System.out.println("3"); break; } } }