控制流程
控制流程
- 顺序结构
很简单 从上到下
if选择结构
if选择结构就是 如果……那么……这样一个结构
if (/*布尔条件判断*/){
//执行语句
}
如果括号里的值为真,那么就执行花括号里面的语句
是一个选择分支的一个结构
switch选择结构
switch是一种多选择结构,很想我们平时做到的单选题,ABCD四个选项,当然switch不会是局限于4个选项那样
switch语句中的变量类型是byte short int char
从jdk 7 开始也支持String类型
char score = 'A';
switch (score){
case 'A' :
System.out.println("优秀");
break; //可选
case 'B' :
System.out.println("良好");
break; //可选
case 'C' :
System.out.println("中等");
break; //可选
case 'D' :
System.out.println("你好捞啊");
break; //可选
default: //可选
System.out.println("什么玩意");
}
}
上面switch结构一看,传的值是A,那就执行case 'A' 结果就会输出优秀两个字了
case 穿透现象
如果没有break语句,那么上面的代码他就不仅显示优秀,还会把B C D 以及defalut
的语句都会执行一便 结果就会输出
优秀
良好
中等
你好捞啊
什么玩意
这个就是case穿透现象
JDK 7 新特性
也就是开始提及的支持变量类型为String类型
通过反编译发现,如果变量类型是String类型,他会把String的字符串整一个hashCode,字符的本质还是数字,转成hashCode实际上就是在case int类型变量
while循环
基本结构
while (布尔表达式){
循环内容
}
只要布尔表达式为true那么这个循环就会一直跑下去,这样容易死循环,影响程序性能或者造成卡死崩溃,这种情况我们是要避免的。
这我们就需要一个让表达式失效的方式来结束循环
比如表达式i < 100 然后循环内容来个i++之类的方式。
do...while循环
- 对于while语句,不满足判断,就不能循环,我们有时候也会遇到即使不满足判断也要循环执行至少一次
- while和do...while相似,区别就是while是先判断后执行,do...while是先执行后判断
下面是do...while的基本结构
do {
//代码语句
}while (布尔表达式);
for 循环
基本结构
for (初始化条件; 布尔表达式; 更新) {
//代码语句
}
先执行初始化,表达式为true执行循环,false循环终止。一次循环执行毕后,再次检测布尔表达式,重复上面的内容
for循环是很灵活的循环结构,也是最为常用的
- 使用for循环打印一个九九乘法表
for (int i = 1; i <= 9; i++) {
for (int n = 1; n <= i; n++) {
System.out.print(n + "*" + i + "=" + n*i + "\t");
}
System.out.println();
}
系统输出如下
可以看见仅仅6行 实际上是4行代码,就敲出来一个九九乘法表,让我不禁为for循环的灵活精巧而感叹了。
增强for循环
jdk5引入,主要用于数组和集合的使用
int[] numbers = {10, 20, 30, 40, 50}; //遍历数组元素 for (int x : numbers){ System.out.println(x); }
简单了解一下,这是for循环的一个应用
break continue
break
用于强制退出循环,在switch语句中经常使用
continue
这个是跳过该次循环中剩下的语句,继续下一个循环