<?php $i=2; switch($i++){ case 2: echo '输出2<br/>'; break; case 3: echo '输出3<br/>'.$i; break; case 1: echo "输出1<br/>"; break; default: break; } echo $i            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-22 15:00:24
                            
                                207阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区。语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值);语句iload_1是将变量区中的值暂存如堆栈中。因为i=i++;是先将i的值(0)存入堆栈,然后对变量区中的i自加1,这时i的值的确是1,但是随后的istore_1又将堆栈的值(0)弹出赋给变量区的i,所以最后i=0。又因为i=++i;是先对变量区中的i自加1,然后再将变量区中i的值(1)存入堆栈,虽然最后执行了istore_1,但也只是将堆栈中的值(1)弹出赋给变量区的i,所以i=++i;的结果是i=1。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-09-19 22:48:00
                            
                                313阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            i++与++i怎么运算,解决办法: i++规则是在表达式中先取i的值使用,后让i的值变化成加1后的值。 举例:如在式中 j=i++,他就会变成这样的两步,第一步先执行j=i,第二步执行i=i+1。 ++i规则是在表达式中先让i的值变化成加1后的值,后取i的值使用。 举例:如在式中 j=++i, 他就 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-18 10:24:00
                            
                                909阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            i++和++1概述:i++和++i这个问题困扰了我很长时间,在这段时间里自己不止一次的怀疑自己的智商,难道自己对编程一点天赋都没有吗?此问题严重打击了我的自信心.......也曾苦苦暗自琢磨,也曾百度谷歌疯狂搜索,得到答案都是一样的:“i++是先赋值,后运算;而++1是先运算,后赋值”,谁给谁赋值?谁和谁运算?越看越蒙。直到今天,终于在一位老师的点拨下搞明白了。我们要从两个不同的角度等待这个问题,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-08-14 09:23:44
                            
                                2527阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            总结: i++ 先用后加, ++i先加后用; i--先用后减, --i先减后用;            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-12-06 09:37:00
                            
                                552阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            如果是独立语句,建议用++i,--i,这样第一眼看到的是运算符号,逻辑清晰些如果是这样的逻辑:array[i++]或array[++i],这就需要根据逻辑来确定用哪种写法了。i++表达式的值是加之前的值,++i表达式的值是i被加之后的值。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2015-09-25 21:01:25
                            
                                224阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            i++、++i、i=i+1、效率怎么样?看过一本书上说,i++比i=i+1好的地方是因为i=i+1中的那个1要占用一个寄存器,所以速度没有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2007-12-17 10:51:00
                            
                                141阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            #define prc(x) x*x int main(int argc, char* argv[]) { int i=3; int j=4; int m=5,n=6; printf("%d %d\n",i++,++j);//i++ 先用后            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-19 20:35:09
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            i++、++i、i=i+1、效率怎么样?看过一本书上说,i++比i=i+1好的地方是因为i=i+1中的那个1要占用一个寄存器,所以速度没有i++快,于是我想验证一下。另外,以前听说过Java中的“i=i++”得不到正确结论,也就是应该是“先累加再赋值”,但Java经过这种运算后,i值居然没有变化。所以在这里,想一并把这几个问题在C中验证一下。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2003-04-04 09:14:00
                            
                                1252阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             
public static void main(String[] args) {         int i = 0;                    
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-02-26 11:56:41
                            
                                534阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            记得大学刚开始学C语言时,老师就说:自增有两种形式,分别是i++和++i,i++表示的是先赋值后加1,++i是先加1后赋值,这样理解了很多年也没出现问题,直到遇到如下代码,我才怀疑我的理解是不是错了:public class Client { public static void main(String[] args) { int count =0; for(int            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-09-01 14:34:02
                            
                                493阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前置递增运算符:先将运算对象加1,然后将改变后的对象作为求值结果(去使用)。 后置递增运算符:求值结果是运算对象改变之前的那个值的副本,也会将运算对象加1. 综合:前置版本的递增运算符,它将值加1后直接返回改变了的运算对象;而后置版本需要将原始值存储下来以便于返回这个未修改的内容。 小结:后置会增加            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-10-04 23:13:00
                            
                                365阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            最近在看c语言,被神奇的i=i++吸引,其实感觉编程是一件有趣的事情(特别喜欢算法)。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-07-24 20:09:00
                            
                                275阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            上面的代码会漏掉A,使用下面的解决了 for循环最好使用++i, 当我们需要一个循环或者只需要增加操作数时,预增量远远好于后增量,因为在后增量的情况下,编译器可能创建了一个需要额外时间的旧数据副本。这不是100%正确,因为现在编译器非常聪明,他们正在以一种在前后增量之间没有区别的方式优化代码。所以这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-09-01 21:53:00
                            
                                253阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            看下面样例便可理解: public class Test_i { public static void main(String[] args) { int i = 0; System.out.println("运算前i为"+i+"运行"+ i++ +",此时i为"+i); System.out.pr            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-07-14 09:36:00
                            
                                279阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            通常的理解:Java中,提起i++就知道是先赋值后自增,提起++i就知道是先自增后赋值,那么来看下面一段程序:public class Demo{ public static void            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-03-19 02:10:00
                            
                                177阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            对于i++ + ++i来说,假设i=10,那么从前往后分析,i++即将i的值加1,i此时为11,但i++这个表达式的值是10,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-27 00:15:33
                            
                                367阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            i++;先赋值在自加;
++i;先自加在赋值;
备注:在赋值运算中有区别,单独使用没有区别
 
(
例子1:单独使用
for(int i=0;i<10;i++){ }
for(int i=0;i<10;++i) { }
这样使用没有区别
 
例子2:赋值运算
a=i++;
(分解:a=i; i=i+1;)
a=++i;
(分解:i=i+1;a=i;)
 这样使用a的值是不一样的
)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-09-21 09:03:00
                            
                                235阅读
                            
                                                                                    
                                2评论