Java中的循环一共有三种,分别是:whil语句、do...while语句、for语句
一、while
while循环语句中的循环条件是否成立,如果表达式不成立,则循环体就不会执行下去
while的基本语法:
while(布尔表达式){
//循环的内容
}
当布尔表达式为 true 时,就执行循环里面的条件。当布尔表达式为false时,就不执行循环或者是跳出循环。
int count = 0;
boolean a = false;
while(!a){
if(count == 10){
a = true;
}
count ++;
System.out.println("学会了么?没有再来!" + count);
}
如果代码改成如下就不会执行了。
boolean a = false;
while(a){
//这里就不会执行了
}
如果没有退出,就会出现死循环。永不休止,直至生命结束(应用程序退出)。
a = true;
int count = 0;
while(a){
System.out.println("我将一直执行" + count++);
}
二、do...while
do...while,先做,做了之后再问继不继续执行。和while不同的地方就在这。while是先问,条件成立了,在继续执行。而do...while即使条件不满足,也要先执行一次。
do...while的基本语法:
do{
//循环体
}while(布尔表达式)
代码演示:
int count = 0;
boolean a = false;
do{
if(count == 10){
a = true;
}
count ++;
System.out.println("先学一遍吧!再看看!" + count);
}while(a);
do{
if(count == 10){
a = true;
}
count ++;
System.out.println("先学一遍!" + count);
}while(!a);
三、for
for循环对于开发来说,是用的最多的循环语句了。for循环主要包括三部分。1、初始化部分 2、循环提交 3、迭代部分表达式
for循环的基本语法:
for(初始化语句; 循环条件; 迭代部分的表达式){
//循环体。
}
代码演示:
//完整写法
for(int i = 0; i < 10; i++){
System.out.println("开始循环了!" + (i + 1));
}
System.out.println("");
//省略初始化
int i = 0;
for(; i < 10; i++){
System.out.println("开始循环了!" + (i + 1));
}
System.out.println("");
//省略循环体
i = 0;
for(;; i++){
if(i == 10){
break;
}
System.out.println("开始循环了!" + (i + 1));
}
System.out.println("");
//省略所有参数
i = 0;
for(;;){
if(i == 10){
break;
}
System.out.println("开始循环了!" + (i + 1));
i++;
}
四、跳转
有循环,就离不开循环的跳转。
continue;break;return; 如果我在执行的想去跳出循环,或者提前结束循环体的执行, 就用这三个关键字。
break:代表在现在的循环中退出循环体,继续执行循环体外的代码。
for(int i=0; i < 10; i++){
if(i >= 5){
break;
}
continue:代表跳过本次循环继续下一次的循环继续执行
for(int i=0; i < 10; i++){
if(i == 4 || i == 7){
continue;
}
System.out.println(i + "");
}
太多的业务环境中需要使用 continue。 注意嵌套 for 循环的问题。 continue 只会跳出当前层的循环, 而不会跳出上层循环。
for(int index = 0; index < 10; index++){
for(int j = 0; j < 10; j++){
//这里写 continue 只会跳出当前的代码块,也就是 for(int j) 的这一层。
}
}
return:代表退出方法的跳出函数的关键字。 作用是直接跳到上层调用方法的点。 如果方法的返回值是空, 可以直接返回 return; 如果不是空, 就需要加上 return 数据类型(或类)。
public void test(){
sum(1, 2);
sum(0, 0);
}
private int sum(int i, int j){
if(i == 0 && j == 0){
return 0;
}
return i + j;
}