循环结构

本文详细介绍了Java中的三种基础循环结构:while、do...while和for循环。通过实例展示了它们的作用和基本语法,并探讨了在不同场景下的使用选择。此外,还强调了在程序设计中考虑时间复杂度的重要性。

7 基础循环结构(Java举例,适用大部分常用语言)

while循环详解

作用以及基本语法

在这里插入图片描述

融会贯通相关题目

思考中有两种计算方法:

数学运算中存在首尾相加乘以项数除以二,那么我们也可以直接使用这种方法;

我们来引入相关的循环结构,直接把1加到100!

package study.scanner;

public class whileDemo01 {
    public static void main(String[] args) {
        //如何从零加到一百?
        //数学运算中存在首尾相加乘以项数除以二,那么我们也可以直接使用这种方法
        int sum1=0;
        sum1=(1+100)*100/2;
        System.out.println(sum1);//输出相关结果5050
        //但是我们没有必要在计算机上还专门去思考这些快捷算法,特别是在前期(后期会带入算法,而算法才会要求程序的快捷性和简易)
        //我们来引入相关的循环结构,直接把1加到100!
        int sum2=0;
        int i=0;
        while (i<100)//当i<100时,进入相关的循环
        {
            i++;//直接从一开始加,每一次循环i数字会加一(i++=i+1)
            sum2=sum2+i;//或者sum2+=i
        }
        System.out.println(sum2);
    }
}

实际上,两种方法并没有优劣之分,准确来说,是在一些目前接触到的程序中没有优劣之分,但随着程序的不断增加和以后我们可能遇到的超复杂数学计算,此时我们应当灵活运用类似于’首项加末项乘以项数除以二’这种数学思维来尽可能简化我们的程序(准确说是后期学习中会接触到的时间复杂度,这个目前暂时还不会接触),本文仅仅只是通过一个小小的例子来教导while循环的使用方法,并不代表这种方案就是最佳方案。


do while循环详解

作用以及基本语法

相比于while中的循环,我们或许需要一种程序的处理在进入循环的判断之前先进行一次程序的处理,很明显,while循环并没有满足我们的要求,所以我们重新对于while循环进行了改动,在其基础语法上创立了一种可以在语句判断之前就先处理一遍数据的循环语句,那就是do while循环。

在这里插入图片描述

融会贯通相关题目

在使用了do while语句之后,程序数值会先进入到do之后的程序语句中进行一次执行,再将执行之后的语句进入while中进行循环,其中的while语句部分和之前讲到的while循环的使用方式是完全一样的。

package study.scanner;

import java.util.Scanner;

public class dowhileDemo01 {
    public static void main(String[] args) {//创建main函数
        int sum=0;//定义创建一个和sum
        int i=0;
        do {
            sum=sum+i;//在进入while循环之前就使用了一次数据处理
            i++;
        }
       while (i<=100);//循环判断
        System.out.println(sum);
    }
}

以上只是由于之前就是打出来了从一加到一百的例子方便理解,所以才据这种例子使用,但实际上这个例子可以利用while进行求解。


增强for循环

作用以及基本语法

在这里插入图片描述

虽然所有循环结构都可以用while或者do…while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。(当然,在c,以及c++中也会使用到这种语法格式,使用时的基本语法基本相同,处理的效果也大同小异,所以for循环,以及之前讲过的while和do while在学习之后,可以直接应用于大多数的现在流行的程序语言中

**for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构,**像题主就比较习惯使用for循环语句,只不过由于时间复杂度较高,所以for循环语句虽然使用简单上手简单,同时应用范围较大,但依旧在之后的学习生活中多数使用while语句,只不过在一些初学者或者是对于时间复杂度的要求不那么高的工作中,还是使用for语句比较顺手。

融会贯通相关题目

package study.scanner;

public class forDemo01 {
    public static void main(String[] args) {
        int[]numbers={1,2,3,4,5};//创立一个数组
        for (int i=0;i<5;i++)//创建一个int量初值为1,当其小于5时进入循环体,每进行一次即可在之前基础上+1,用来计数循环次数
        {
            System.out.println(numbers[i]);//输出该数组中的第i个元素
        }
        for (int x:numbers){//属于增强for循环,输出手法为“arrays(数组名)”.for,但这样是没有数组下标的,所以只适合于输出数组,不宜与进行更改操作
            System.out.println(x);//遍历数组的元素
        }

    }
}

for (int x:numbers){//属于增强for循环,输出手法为“arrays(数组名)”.for,但这样是没有数组下标的,所以只适合于输出数组,不宜与进行更改操作属于遍历手段

``

for (int x:numbers){//属于增强for循环,输出手法为“arrays(数组名)”.for,但这样是没有数组下标的,所以只适合于输出数组,不宜与进行更改操作属于遍历手段

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值