Java流程控制
顺序结构
最基本的结构,自上而下运行语句。
选择结构
- if单选择
- if...else双选择
- if...else if...else多选择
- 嵌套if结构
- switch...case多选择结构(匹配具体的值)
switch(type a){
case value1: //value支持字符串类型,是通过对象的hash值来判断的
//语句
break; //没有break会造成case穿透现象
case value2:
//语句
break;
...
default:
//语句
}
-
拓展:什么是hashcode?作用是什么?
循环结构
while
while(布尔表达式){
//循环体
}
//一般情况需要循环终止的条件,特殊情况下如服务器监听响应等需要一直循环下去
do...while
do {
//循环体至少执行一次
}while(布尔表达式);
for循环
for(初始值;布尔表达式;更新){
//语句;
}
增强for循环
for(声明语句:表达式){
//语句;
}
//主要用来循环数组和集合的元素
//例如:
int[] arr = {1,2,3}
for(int x:arr){
System.out.print(x+" ");
}
//结果将得到1 2 3
break和continue
- break终止当前循环
- continue跳出当次循环,继续下一轮循环
拓展:lable标签
- lable标签可以配合break或continue,减少不必要的循环,提高代码效率,达到与goto保留字相类似的作用
//如想找出101-150的质数
public class TestDemo01 {
public static void main(String[] args) {
outer:for (int i = 101; i < 150; i++) {
for (int j=2;j<i/2;j++){
if (i%j==0){
//一旦发现i能被2-i/2之间的数整除,则不是质数,立刻跳出内循环
continue outer;
}
}
System.out.print(i+" ");
}
}
}