网站首页 > 博客文章 正文
一:语句及表示方法
for语句:
for(初始表达式;条件表达式;增量表达式)
{
循环体
}
foreach语句:
foreach(数据类型 变量 in 数组或集合)
{
循环体
}
理解
1.从程序逻辑上理解,foreach是通过指针偏移实现的(最初在-1位置,每循环一次,指针就便宜一个单位),而for循环是通过当前索引相对零索引的偏移量(通过首地址和地址偏移量)计算实际访问地址实现的;
2.以上我们也可以看出,for更具有判断逻辑性,foreach只是循环访问。当然你可以你再循环体引入业务逻辑。?
从以上总结我们看出,两者各有优点,其实我觉得各自的优点,要在不同的程序中我们去考量一些要素,同时我们具体问题具体分析。那我们具体看下一下代码:我们以100万个数据相加累和,作进一步测试:
代码如下?:
?结果:
四.从问题出发,更要从实际出发
我们对for语句和foreach语句进行统计,实际此程序问题很多:
问题0?:其中变量的定义对测试影响大不大。
问题1:DateTime.Now时间的精确性影响大不大。
问题2:for语句和foreach语句的位置顺序问题会不会影响。
问题3:相加累和方法测试,对for语句和foreach语句测试是否公平。
问题4:for语句和foreach语句,装载数据方式,调用数据顺序具有很大的研究价值。
问题5:for语句和foreach语句运行机制原理,对于两者的PK是否公平。
以上几点经过长久的测试,影响比较大的。当我们试图去探究一些问题,请大家更注重他们的运行机制,当然也要更注重他们在我们实际程序中,不能一直去研究性能,而忽略他们存在机制。
猜你喜欢
- 2024-12-26 Java 8 Stream 处理大数据集:实战与优化
- 2024-12-26 面试官:Java8 lambda 表达式 forEach 如何提前终止?
- 2024-12-26 Javascript中,forEach和map到底有什么区别?
- 2024-12-26 Excel VBA之For Each遍历循环的应用
- 2024-12-26 为什么建议使用 for…of 循环而不是 foreach 循环呢
- 2024-12-26 前端开发map和foreach区别,map遍历方式用法介绍
- 2024-12-26 Rust语言从入门到精通系列 - 零基础掌握Stream流迭代器
- 2024-12-26 Map遍历的四种方法效率对比
- 2024-12-26 java集合类之java中集合类有哪些?如何分类?
- 2024-12-26 【一分钟学Java】之List
你 发表评论:
欢迎- 最近发表
-
- Python 中 必须掌握的 20 个核心函数—len()函数
- 用PLC的指针实现字符串转byte(Codesys平台)一文极简搞懂指针
- EXCEL如何用函数读取复杂字符串中的数据
- 2025-07-19:计算字符串的镜像分数。用go语言,给定一个字符串 s
- 2025-07-10:字符相同的最短子字符串Ⅰ。用go语言,给定一个长度
- 基于物理特征融合与机器学习的多井协同钻井速率实时预测与优化(
- [电子学报文章精选]一种基于特征融合的恶意代码快速检测方法
- 强大的可视化流程图编辑神器 — LogicFlow
- 前端框架太卷了!字节企业级框架Arco Design Mobile开源了
- Vue独立组件——11个最佳Vue.js日期选择器组件
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)