for 循环里的i++

写代码的时间也不短了,今天看快速排序的算法的时候才去更深层次得理解。。。

for (语句 1; 语句 2; 语句 3)

{

被执行的代码块

}

语句 1 (代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

所以语句3的i++是在代码块执行之后加上的值,

所以一般情况下,for循环结束了,其实最后语句3又执行了一遍i又加了个1

亲测语句块里break退出循环则语句3不会执行

最后又衍生到,语句3中i++和++i的区别,值是一样的,但是在c++里++i效率更高

原文地址:https://www.cnblogs.com/papi/p/8569812.html

时间: 2024-12-13 05:53:08

for 循环里的i++的相关文章

关于for 循环里 线程执行顺序问题

最近在做项目时遇到了 这样的需求 要在一个for循环里执行下载的操作, 而且要等 下载完每个 再去接着走循环.上网查了一些 觉得说的不是很明确.现在把我用到的代码 贴上 希望可以帮到有此需求的开发者        private Handler mHandler = new Handler() {               public void handleMessage(android.os.Message msg) {                       switch (msg.

handlebars,each循环里面套each循环

handlebars可以用each自动进行循环,下面介绍一下each循环里面套循环来着. html代码 1 !DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>handlebars循环套循环</title> 6 <style media="screen"> 7 *{ 8 margin: 0; 9 paddin

关于在for循环里调用ajax时只能取到最后一个数据的bug的解决方法

首先,造成这中情况的原因在与ajax的异步请求机制,for循环的运行速度远大于ajax异步请求的速度,这就造成了ajax运行时,需要的在for循环里的参数已经运行到最后一个了,所以取到的都是最后一个参数数据. 解决方法:将ajax的请求封装成一个单独的方法,然后在for循环里调用该方法.

不要在foreach循环里进行元素的remove/add操作

不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式. 反例: public class ForeachTest { private List<String> list = new ArrayList<String>(); @Test public void forTest() { list.add("1"); list.add("2"); for(String temp :

foreach循环里不能remove/add元素的原理

foreach循环 ? ?? foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素.Java语言从JDK 1.5.0开始引入foreach循环.在遍历数组.集合方面,foreach为开发人员提供了极大的方便.通常也被称之为增强for循环. ? ?? 在日常开发中,foreach循环用的非常多,但是有一点要非常小心,就是不能在这个循环里对数组或者集合里的元素进行remove或者add操作,否则会抛出java.util.Concurr

php 使用自定义函数 在循环里判断闰年

<?php /** 使用自定义函数 在循环里判断闰年 **/ function is_runnian($year){ //自定义函数 if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { return true; }else { return false; } } for($year=1500;$year<=2000;$year++) { if(is_runnian($year)) { echo $year.'

为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?

在阅读<阿里巴巴Java开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 foreach 循环里进行 remove 操作的代码: import java.util.ArrayList; import java.util.List; public class ForEachTest { public static void main(String[] args) { List<S

Java问题记录——循环里的二次判断与状态更新

Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环多次. 举例来说,如果有一个结账的代码,每五分钟会执行一次: 1 @Scheduled(cron = "0 0/5 * * * ?") 2 @Async 3 public void handle(){ 4 List<Customer> list = customerDao.li

python学习笔记——循环里的else

与之前接触过的语言不同,python有针对循环的else,表示如果循环结束都没有执行里面的break语句就进入到这个else,所以这个else在格式上是与for对齐的. 例: import math for i in range(85, 99): root = math.sqrt(i) if root == int(root): break else: print 'no int root' 版权声明:本文为博主原创文章,未经博主允许不得转载.

利用闭包解决for循环里onclick事件不能捕捉实时i值问题

问题描述 我们都知道,如果我们对于一组元素(相同的标签)同时进行onclick事件处理的时候(在需要获取到索引的时候),一般是写一个for循环,但是onclick是一个异步调用的,所以会带来一个问题,当我们触发这个事件的时候,我们能获取的i值是for完整执行完后i的值,而不能获取到代码顺序里i的值 首先看一段代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title