单if语句
注意:在if语句体中定义的变量,出了这个语句体是不能够使用的
if()中的表达式也可也是一个布尔类型的变量
多个if之间可以存在嵌套关系
格式:
if(关系表达式){
语句体;
}
意思:如果满足“关系表达式”则输出语句体1
if...else格式
if(关系表达式) {
语句体1;
}else {
语句体2;
}
意思:如果满足“关系表达式”则输出语句体1,否则输出语句体2。
if..else if...else格式
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2;
}
...
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
意思:如果判断条件1正确则执行语句1,然后在判断判断条件2,如果true就执行,错误则判断条件3………
if的第三种格式else是可以省略的。
//注意:if的第三种格式 如果前面的条件判断成立 就跳出了整个if判断语句,后面的判断就不会再执行。
//而使用多个单独的if判断,就算上面的条件成成立了,后面的判断也会接着执行,所以效率较低
/三元运算符什么时候不可以和if else进行等效替换:
//当在if中去调用一个没有返回值的方法的时候,不可以和三元素符进行等效替换
//因为三元元素符中,表达式一和表达式二要得到一个结果赋值给最左边的变量,而没有返回值的方法是没有结果的。
switch 语句格式
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
switch (表达式) 表达式中可以是一个复杂的式子,也可以是一个变量。
//而case后面只能跟常量,并且表达式的结果的类型和常量的类型要相同
注意事项:
1. 多个case后面的数值不可以重复。
2. switch后面小括号当中只能是下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3. switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。
“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。
for 循环语句格式
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
循环结构的基本组成部分,一般可以分成四部分:
1. 初始化语句:在循环开始最初执行,而且只做唯一一次。
2. 条件判断:如果成立,则循环继续;如果不成立,则循环退出。
3. 循环体:重复要做的事情内容,若干行语句。
4. 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。
whiee 循环语句格式
while循环有一个标准格式,还有一个扩展格式。
标准格式:
while (条件判断) {
循环体
}
扩展格式:
初始化语句;
while (条件判断) {
循环体;
步进语句;
}
do-while循环的标准格式:
do {
循环体
} while (条件判断);
扩展格式:
初始化语句
do {
循环体
步进语句
} while (条件判断);
do-while循环和前两种循环的区别
//前两种循环:循环次数 0到多次
//do-while循环: 循环 1到多次
while 循环和for循环的区别
一:知道循环多少次使用for循环,不知道循环多少次,只知道循环的条件使用while循环
二:while的初始化变量是定义到循环体外面的,所以出了while循环这个变量也可以使用
for循环的初始化变量是定义在()中的,所以只能在()和{}中使用,出了循环体就使用不了了
三种循环的区别。
1. 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
2. for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用
break关键字的用法有常见的两种:
1. 可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
2. 还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环;否则多用while循环。
另一种循环控制语句是continue关键字。
一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
永远停不下来的循环,叫做死循环。
死循环
的标准格式:
while (true) {
循环体
}
死循环就是这个循环的条件判断结果始终未true,那么它就是一个死循环
场景一:条件就是常量true,那么在循环的外面就不可以写其他语句了,因为编译会出现问题
场景二:条件判断是一个变量参与的运算,那么就会骗过编译器,使编译通过,但是循环后面的其他语句仍然不会执行。