循环语句

java中循环语句分为以下几类:

  1. for
  2. while
  3. do...while
  4. 递归
  5. 增强for循环(forEach:JDK1.5+)

for循环

for循环是java中最常见的一种循环方式,语法结构如下:

for(初始变量表达式;条件判断;修改初始变量表达式){

//循环体}

例如

for(int i = 1;i <= 10 ;i++){
    System.out.println(i);
}

循环编写时注意条件判断表达式,操作不当将会导致死循环!

while循环

语法:

while(条件判断表达式){

//循环体

}

例如:

int i = 1;
while(i <= 10){
    System.out.println(i);
    i++;
}

do...while循环

dowhile循环跟while循环的区别在于:前者先执行循环体,然后再做条件判断,而后者是先执行判断然后执行循环体;

语法:

do{

//循环体

}while(条件判断表达式)

例如:

int i = 1;
do{
    System.out.println(i);
    i++;
}while(i<=10);

continue、break、return关键字使用

continue

一般用于循环语句,当需要循环到某一次时,跳过该次循环

//输出0~10之间所有的奇数
for(int i = 0;i<10;i++){
    if(i % 2 == 0){
        continue;
    }
    System.out.println(i);
}

break

break主要用于switch中的case条件,可以防止case穿透;另外,break还可以用于循环语句,在循环中的作用一般表示为结束一层循环(多层嵌套循环时,外层的循环不受影响)

可以通过为多层嵌套循环添加标签,然后使用break,结束指定的标签对应的循环(不推荐)

loop1:for(int j = 10;j<20;j++){         
    loop2:for(int i = 1;i<10;i++){
        if(i % 3 == 0){
            break loop1;
        }
        System.out.println(j+"==="+i);
    }
}

return

return 一般用于方法中,表示方法的结束,当return被执行是,其后续的代码没有执行的可能性。

递归(Recursion)

递归指的是在方法内部对方法自身调用;递归一般用于一些常见的算法的解决,在实际应用中,比如对文件夹内部文件的递归检索;以及树形菜单的显示;递归是对循环的一种补充。

//求5!
public int m(int n){
    if(n == 1){
        return 1;
    }else{
        return n * m(n - 1);
    }
}

//斐波拉契数列
public long fib(long n){
    if(n == 1 || n == 2){
        return 1;
    }else{
        return fib(n - 1) + fib(n - 2);
    }
}