顺序语句: 从前到后 从上往下 从左至右依次执行
选择结构: if..else if..else
第一种形式:
if(关闭表达式){
语句体;
}
其他代码;
判断if后面的括号里面的值为true还是false
如果为true 执行语句体
如果为false 执行其他代码;
第二种形式:
if(关闭表达式){
语句体1;
}else{
语句体2;
}
判断if后面的括号里面的值为true还是false
如果为true 执行语句体1
如果为false 执行else后面的语句体2;
if和else两个代码块里面的语句体 只能有一个执行成功
第三种形式:
if(关闭表达式1){
语句体1;
}else if(关闭表达式2){
语句体2;
}...else{
语句体n;
}
判断if后面的括号里面的值为true还是false
如果为true 执行语句体1
如果为false 在去判断关系表达式2
然后如果关系表达式2为true 执行语句体2
如果为false 重复执行上面的判断操作
直到有一个为true
如果都不为true 最后执行else
所有的语句体 只能有一个执行成功
分支结构: switch..case..default
switch (a) {
case 10:
System.out.println("往左走");
break;
case 11:
System.out.println("往右走");
break;
case 12:
System.out.println("往前走");
break;
case 13:
System.out.println("往后走");
break;
default:
System.out.println("不走");
break;
}
运行流程:
1.拿着a去跟每个case后面的值进行比对
2.如果比对成功 那么就运行当前case下面的代码
3.运行完代码以后 走break关键字
break关键字的作用就是帮助我们结束掉当前得switch语句的执行
case相当于if else if
default相当于else
注意事项:
1.break可不可以省略? 如果可以 那么运行后会出现什么效果
可以省略不写 但是会出现穿透现象 也就是不再对比case后面的值 而是直接运行case里面的代码
直到遇见break 或者执行到switch结束才停止运行
2.default可不可以省略?
完全可以 而且没有任何影响
3.default必须放在switch的最下方吗? 如果不再最下方 会出现什么情况?
不是必须放在最下方,如果不再最下方 也不会对代码产生任何的影响
因为switch语句会默认的最后一个运行default
4.case后面的值能不能重复?
不行,会报错
5.switch括号里面都能写什么数据类型???
byte short int char String 和 枚举
字符串和字符串比较是否相同
字符串1.equals(字符串2)
循环结构:
for:
while:
do..while: