for循环和while循环

简介: for循环和while循环

一、重点

【实际上用for和while不会有时间和空间效率的区别】

(记一个愚蠢的问题,非常的愚蠢,因为在解题的时候发现用不同的循环写出的代码时间和空间效率有所差别,所以就产生了疑问,然后大胆提问,被点差分!!怪我太愚蠢,没有多测试几次,其实每次的运行时间和消耗内存都会不同的。注:多测试!多测试!多测试!)

for循环和while循环时间和空间消耗的差异,更多地取决于循环体内部的代码逻辑而不是循环结构本身。循环体内部的代码执行次数和所需的内存空间可能会对整体性能产生影响。在实际情况中,具体的时间和空间消耗可能会因为循环的结构、循环体内的代码逻辑、编译器优化等因素而有所不同。


二、for和while的语法结构

语法结构:


  • while循环:while循环由一个条件表达式和一段代码块组成。只要条件表达式为真,就会重复执行代码块。
  • for循环:for循环由三个部分组成:初始化表达式、循环条件表达式和循环迭代表达式,以及一段代码块。通常用于遍历数组或进行计数循环。

使用方式:

  • while循环通常用于需要根据条件来重复执行某段代码的情况,条件可能在循环体内部改变。
  • for循环通常用于已知循环次数或者需要遍历某个集合或数组的情况。


三、使用推荐

推荐使用for循环的情况:


  1. 已知循环次数:当循环需要在已知次数内执行时,for循环是更自然的选择。例如,遍历数组或列表、执行固定次数的迭代等情况。
  2. 计数循环:对于需要进行计数的循环,for循环提供了更简洁和清晰的方式。初始化、循环条件和迭代表达式都可以在循环头部定义,使得代码更易读。
  3. 迭代器遍历:对于遍历集合或数组等数据结构的情况,使用for循环结合迭代器或索引变量进行遍历会更方便和高效。


推荐使用while循环的情况:


  1. 循环次数不确定:当循环次数不确定,需要根据某个条件来决定是否继续循环时,while循环是更合适的选择。循环条件可能会在循环体内部改变,这种情况下while循环更灵活。


  1. 条件判断不适合放在循环头部:有时候,循环的条件不适合放在循环头部,而是更适合放在循环体内部。这种情况下,while循环提供了更合适的结构。


相关文章
|
弹性计算 JSON 数据可视化
Grafana 10 新特性解读,体验与协作全面提升
Grafana 10 新特性解读:体验与协作全面提升
32471 98
|
4月前
|
存储 弹性计算 运维
AI时代下阿里云基础设施的稳定性架构揭秘
计算、存储、网络作为云计算基础 IaaS 服务,一直是阿里云的核心产品,承载着百万客户的 IT 基础设施。曾经我们认为应用高可用、服务分布式可以满足客户对 IaaS 所有的稳定性诉求。
584 2
AI时代下阿里云基础设施的稳定性架构揭秘
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
存储 API 文件存储
对象存储、块存储、文件存储他们都有什么不通的作用?
对象存储、块存储、文件存储他们都有什么不通的作用?
792 0
|
网络安全 数据安全/隐私保护 网络虚拟化
|
关系型数据库 MySQL 数据库
如何使用Docker部署MySQL数据库?
【10月更文挑战第1天】如何使用Docker部署MySQL数据库?
650 0
|
编译器 C++ 容器
STL常用之vector,list,stack,queue,deque总结与对比
STL常用之vector,list,stack,queue,deque总结与对比
|
Java Maven Android开发
Maven神坑之PKIX path building failed终极解决办法
Maven神坑之PKIX path building failed终极解决办法
2577 0
Maven神坑之PKIX path building failed终极解决办法
|
网络协议 数据安全/隐私保护 网络架构
|
Web App开发 定位技术 C#