Java循环结构详解


前言

本文将介绍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<num){
                System.out.println("猜小了");
            }else{
                System.out.println("恭喜你猜对了");
            }
        }while(guess!=num); //2
    }
}

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循环也是一种非常方便的遍历数组和集合元素的方式。在实际编程中,我们应该根据具体需求选择不同的循环结构,并且注意循环条件、循环变量等的正确使用,以确保程序的正确性和高效性。


  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Java入门基础知识是学习和理解Java编程语言的基础概念和语法规则。下面是一些常见的基础知识点: 1. Java环境安装:首先需要安装Java开发工具包(JDK),它包含了Java编译器和运行环境。 2. Java语言特点:Java是一种面向对象的编程语言,具有简单、可移植、面向对象、安全、高性能等特点。 3. Java程序结构:一个Java程序由一个或多个类组成,每个类包含方法和属性。Java程序从main()方法开始执行。 4. 数据类型:Java提供了基本数据类型(如整数、浮点数、字符、布尔等)和引用数据类型(如类、数组、接口等)。 5. 变量和常量:变量是用于存储数据的内存位置,常量是固定不变的值。在Java中,使用关键字来声明变量和常量。 6. 运算符:Java提供了各种运算符,例如算术运算符、赋值运算符、比较运算符、逻辑运算符等。 7. 控制流程:Java提供了条件语句(如if-else、switch-case)、循环语句(如for、while、do-while)和跳转语句(如break、continue)来控制程序的执行流程。 8. 数组:数组是一种存储相同类型数据集合,可以通过索引访问数组中的元素。 9. 方法:方法是一段可重用的代码块,用于执行特定的任务。Java中可以定义自己的方法,也可以使用已经存在的方法。 10. 异常处理:Java提供了异常处理机制来处理程序运行过程中发生的异常情况,可以使用try-catch语句块来捕获和处理异常。 以上是Java入门基础知识的一些主要内容,希望对你有所帮助。如果有其他问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值