while循环
执行流程:首先判断布尔表达式;
如果成立(true)则执行循环体中的语句块。循环体语句结束后,流程返回到布尔表达式的判断。
如果不成立(false),则不进入循环体,直接执行后面的语句。
如果没有变量的改变,就会出现一个无限循环。
break:
是“中断”的意思
作用,跳出循环,让当前循环提前结束。
while(true) {
System.out.println("请输入一个正数");
int i=edc.nextInt();
if(i>2) {
System.out.print("请重新输入一个正数");
}else {
System.out.print("您输入数是"+i);
break;
continue:
是"继续"的意思
作用,结束本次循环。
for (int i = 0; i < 50; i++) {
if (i % 7 == 0) { //遇到能被7整除的数,直接结束本次循环,进行下一次循环
continue;
}
System.out.println(i);
}
if语句
if语句格式:3种
格式1:if(关系表达式) { 语句体 }
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
格式2:if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体1
如果是false,就执行语句体2
格式3:if(比较表达式1) {
语句体1;
}else if(比较表达式2){
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
判断比较表达式1的值,看是true还是false
如果是true,就执行语句体1
如果是false,就继续判断比较表达式2的值,看是true还是false
如果是true,就执行语句体2
如果是false,就继续判断比较表达式3的值,看是true还是false
…
如果都不满足,就执行语句体n+1
if语句注意事项:
比较表达式无论简单还是复杂,结果必须是boolean类型
if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。
一般来说:有左大括号就没有分号,有分号就没有左大括号
三元运算符和if语句第二种格式的关系
所有的三元运算符能够实现的,if语句的第二种格式都能实现。反之不成立。
如果if语句第二种格式控制的语句体是输出语句,就不可以。
因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。