一、判断1.应用场景只有满足一定条件对应的代码才会执行。2.if-else语句//格式 if(关系表达式){ 语句; } else if(关系表达式){ 语句; } else{ 语句; }1执行规则当关系表达式的结果为真时执行大括号里面的语句为假则不执行。二、选择1.应用场景根据条件不同执行不同代码块的结构2.switch-case语句//格式 switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; …… default 语句体n; break; }1执行规则先计算表达式的值依次和case后面的值进行比较如果有对应的值就会执行相应的语句在执行过程中遇到break就会结束。如果所有case后面的值和表达式的值都不匹配就会执行default里面的语句体然后结束整个switch语句。*表达式的结果可以是字符、整数byte、short、int(不能是long)、枚举、字符串*case被匹配的值只能是真实数据不能写变量*case的值不允许重复*break表示结束switch语句*default是当所有情况都不匹配时执行。2default的位置和省略case和default的位置没有标准的上下之分位置可以任意书写。为了代码可读性一般case从小到大书写将default语句写在最后面。default是可以省略不写此时若所有的case都不匹配则没有任何的输出结果。3case穿透在写代码时如果break没有写此时会触发case穿透现象。表达式结果和case语句进行匹配匹配后会执行对应的语句执行语句时没有遇见break程序会继续执行下一个case的语句体直到遇到break或者运行完整个switch语句。4switch新特性①箭头//格式 switch(表达式){ case 1-{ 语句体1; } case 2-{ 语句体2; } case 3-{ 语句体3; } …… default-{ 语句体; } }使用箭头时不写break不会产生穿透现象后面只有一个语句时大括号可以省略。②case后面可以写多个值值和值之间用逗号隔开。③switch可以有运行结果④yield关键字在switch表达式中yeild关键字用于返回值。//举例 String dayTypeswitch(day){ case MONTUEWEDTHUFRI-{ yield Weekday; } case SATSUN-{ yield Weekend; } default -{ yield 不存在; } };若语句只有一句大括号和yield可以省略。*在JDK14版本以上可以使用。5if语句和switch语句使用场景if语句用于对范围的判断switch语句中常用于case的值是有限的。三、循环1.循环要素初始化语句开始条件、条件判断语句结束条件、条件控制语句控制条件、循环体语句。2.for循环//格式 for(初始化语句;条件判断语句;条件控制语句){ 循环体语句; }3.while循环//格式 初始化语句; while(条件判断语句){ 循环体语句; 条件控制语句; }4.for循环和while循环对比当知道循环次数或者循环范围时常用for循环不知道循环的次数和范围只知道循环到结束条件时常用while循环。5.do...while循环//格式 初始化语句; do{ 循环语句 条件控制语句 }while(条件判断语句);do...while循环先执行循环语句再进行判断所以循环体至少执行依次。for循环和while循环都是先判断再执行。6.无限循环死循环//格式 //for循环 for(;;){ 循环语句; } //while循环 while(true){ 循环语句; } //do...while循环 do{ 循环语句; }while(true);for循环中的初始化、条件判断、条件控制语句都可以省略但是分号不能省while和do..while循环中括号里的true都不能省。在无限循环后面不能写任何代码因为程序不会到达。7.breakbreak是关键字表示结束、跳出不能单独书写要用于switch语句或循环中。8.continuecontinue关键字写在循环中表示结束本次循环进入下一次循环。9.循环嵌套一个循环体内部可以包含另一个循环体外层循环没执行一次内层循环会完成内部代码所有的迭代。