Java循环结构详解

文章目录

  • 目录

    文章目录

    前言

    一、循环结构

    1.1 while结构

    1.2 do...while结构

    1.3 for结构

    1.4  嵌套循环

     1.5 增强for循环

    二. 补充

    总结



前言

本文将介绍java基础中的循环结构

循环结构是计算机程序设计中的一种常见的控制流程结构,用于重复执行某段代码块,直到满足退出条件为止。循环由循环条件和循环体组成。

循环条件是一个逻辑表达式,在每次循环开始时判断其是否满足退出条件,如果满足则跳出循环,否则继续执行循环体。循环体是一段需要重复执行的代码块,通常包括多条语句。

循环结构可以通过计数器、标志变量、布尔表达式等方式来实现不同的循环控制方式。在编程中,使用循环结构可以简化代码逻辑,提高代码复用性和可读性,同时也可以实现很多复杂的算法和数据处理任务。

Java中的循环结构有以下几种:

  1. for循环:用于循环执行已知次数的代码块,通常使用计数器来控制循环次数。

  2. while循环:用于执行不定次数的循环,条件表达式在循环开始时进行判断,如果为true则执行循环体,否则跳过循环。

  3. do-while循环:与while循环类似,不同之处在于它会先执行一次循环体再进行判断条件是否满足,至少会执行一次循环体。

  4. 增强for循环(foreach循环):用于遍历集合或数组中的元素,可以省略初始化、判断和更新三个部分,语法简洁。

  5. break和continue语句:break用于跳出循环,continue用于跳过本次循环。这两个语句通常与循环结构配合使用。

  6. 嵌套循环:将一个循环结构放在另一个循环结构内部,可以实现多层循环嵌套,通常应该尽量避免使用过多层嵌套循环,以提高程序效率。


提示:以下是本篇文章正文内容,下面案例可供参考

一、循环结构

1.1 while结构

 while结构:先判断后执行,有可能一次都不执行
1)语法:
  while(boolean){
    语句块/循环体------------反复执行的代码
  }
2)执行过程:
    先判断boolean的值,若为true则执行语句块,
    再判断boolean的值,若为true则再执行语句块,
    再判断boolean的值,若为true则再执行语句块,
    如此反复,直到boolean的值为false时,while循环结束
//1)输出5次"行动是成功的阶梯":
int times = 0;  //1)循环变量的初始化
while(times<5){ //2)循环的条件
    System.out.println("行动是成功的阶梯");
    times++;    //3)循环变量的改变
}
System.out.println("继续执行...");

//2)输出9的乘法表:    3*9=27
int num = 1;
while(num<=9){
    System.out.println(num+"*9="+num*9);
    num++;  //num+=2;
}
System.out.println("继续执行...");

1.2 do...while结构

do...while结构:先执行后判断,至少执行一次

1)语法:
  do{
    语句块
  }while(boolean);
2)执行过程:
    先执行语句块,再判断boolean的值,若为true则
    再执行语句块,再判断boolean的值,若为true则
    再执行语句块,再判断boolean的值,若为true则
    再执行语句块,如此反复,直到boolean的值为false时,do...while结束
public class Guessing {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = (int)(Math.random()*1000+1); //1到1000之内的
        System.out.println(num); //作弊

        //假设num=250
        //300(大),200(小),250(对)
        int guess;
        do{
            System.out.println("猜吧!");
            guess = scan.nextInt(); //1+3
            if(guess>num){
                System.out.println("猜大了");
            }else if(guess

1.3 for结构

应用率最高,适合与次数相关的

1)语法:
    //    1    2    3
    for(要素1;要素2;要素3){
      语句块/循环体--------------反复执行的代码  4
    }
2)执行过程:
    1243243243243243...2为false时,循环结束
//for中的循环变量num的作用域,仅在当前for中-----特殊记忆
for(int num=1;num<=9;num++){
    System.out.println(num+"*9="+num*9);
}
//System.out.println(num); //编译错误,超出num作用域了
for(int num=1;num<=9;num+=2){
    System.out.println(num+"*9="+num*9);
}

for(int times=0;times<5;times++){
    System.out.println("行动是成功的阶梯");
}
System.out.println("继续执行...");
/*

1.4  嵌套循环

- 循环中套循环,常常多行多列时使用,外层控制行,内层控制列

- 执行规则:外层循环走一次,内层循环走所有次

- 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层

- break默认只能跳出当前一层循环
public class MultiTable {
         public static void main(String[] args) {
             for(int num=1;num<=9;num++){ //控制行
                 for(int i=1;i<=num;i++){   //控制列
                     System.out.print(i+"*"+num+"="+i*num+"\t");
                 }
                 System.out.println(); //换行
             }

 1.5 增强for循环

增强for循环(也称为foreach循环)是Java 5中新增的一种语法结构,用于遍历数组和集合中的元素。它能够以一种简单、直观的方式进行遍历,并且能够避免普通for循环中可能会出现的越界错误。

增强for循环的语法格式如下:

for (数据类型 变量名 : 数组名/集合名) {
 // 循环体代码 }

其中,数据类型表示数组或集合中元素的类型,变量名表示当前遍历到的元素的变量名,数组名或集合名表示要遍历的数组或集合对象。

在循环体内部,我们可以通过变量名来访问当前遍历到的元素,执行相应的操作。例如,对于一个整型数组nums,可以使用增强for循环来计算数组中所有元素的和:

int sum = 0;
for (int num : nums) {
    sum += num;
}

需要注意的是,增强for循环主要用于遍历数组和集合等可迭代对象中的元素,不适用于其他场景。此外,在循环过程中不建议修改数组或集合的元素数量,否则可能会导致循环出错。

二. 补充:

1.三种循环结构如何选择:

   - 先看循环是否与次数有关:
     - 若有关--------------------------------------直接上for
     - 若无关,再看第1要素与第3要素的代码是否相同:
       - 若相同--------------------------------直接上do...while
       - 若不同--------------------------------直接上while
2. 生成随机数:1到1000之内的
 Math.random()-------------0.0到0.999999999999...
   *1000---------------------0.0到999.9999999999...
   +1------------------------1.0到1000.999999999...
   (int)---------------------1到1000
3. 任何复杂的程序逻辑都可以通过三种结构来实现:
- 顺序结构:从上往下逐行执行,每句必走
- 分支结构:有条件的执行某语句一次,并非每句必走
- 循环结构:有条件的执行某语句多次,并非每句必走
4. 变量的作用域/范围:
   - 从变量的声明开始,到包含它最近的大括号结束
5.break:跳出循环
for(int num=1;num<=9;num++){
       if(num==4){ //在某种特定条件下,提前结束循环
           break; //跳出循环
       }
       System.out.println(num+"*9="+num*9);
   }
6. 跳过循环体中剩余语句而进入下一次循环
//输出9的乘法表,跳过能被3整除的
   for(int num=1;num<=9;num++){
       if(num%3==0){
           continue; //跳过循环体中剩余语句而进入下一次循环
       }
       System.out.println(num+"*9="+num*9);
7.   变量的重名问题:
   - 作用域重叠时,变量不能重名


总结

循环结构是Java中非常重要的程序控制流程,它可以让我们重复执行某些操作,实现复杂的算法和数据处理任务。除了常见的for循环、while循环、do-while循环外,增强for循环也是一种非常方便的遍历数组和集合元素的方式。在实际编程中,我们应该根据具体需求选择不同的循环结构,并且注意循环条件、循环变量等的正确使用,以确保程序的正确性和高效性。


你可能感兴趣的:(开发语言,java,数据结构,spring,tomcat)