自增自减的应用

1.++i与i++的区别

前者是先把i的值自增1之后再用i的值

后者是先用i的值,i在自增1

如:

                    int x=1,y=2,z=2;
 		   if(++x==2&&y++==2&&z++==2){                     System.out.println("x="+x);                        } else{                           System.out.println("z="+z);                           System.out.println("x="+x);      }           

  运行结果:

x=2

充分证明if里面的条件是真的

时间: 2024-08-10 05:37:29

自增自减的应用的相关文章

[转]C语言中自增自减运算符教学探究-中国论文网

摘要:C语言教学中,自增自减运算符运用得非常广泛,且具有一定的使用技巧和难度.在诸多运算符中,自增自减运算符是学生最难理解和最易出错的运算符.对自增自减运算符的功能和具体应用进行探究,以期为提高C语言教学效果提供帮助.中国论文网 http://www.xzbu.com/8/view-3865031.htm 关键词:C语言:自增自减运算符:教学效果 中图分类号:G434文献标识码:A文章编号:1672-7800(2012)012-0188-02 0引言 C语言编程设计中,若合理使用自增自减运算符,

前置后置自增自减操作

class Int { friend ostream& operator<<(ostream& os, const Int& i); friend istream& operator>>(istream& is, Int& i); friend bool operator<(const Int& a, const Int& b); private: int value; public: Int():value(0

自增/自减运算符

因为做以下题有感...原来简单的自增运算符也有这么多猫腻 http://blog.csdn.net/zdarks/article/details/8767087 第五题  参考:c程序设计语言2.8章   Vs2015测试: a[6]={0};t=h=0; a[0]=a[0]++ 1 a[1]=++a[1] 1 a[2]=t++ 0 a[3]=++h 1 COUT<<a[4]++ 0 COUT<<++a[5] 1 自增自减只能作用于变量,不能作用于表达式 在不需要使用任何具体值且仅

自增自减运算法的深入理解

例二: int i=3;  int j=4;  int a = i++ + i++;  int b = ++j + ++j;  printf("%d, %d\n", a, b); 问题又来了,i++ + i++是先自增一次,相加,再自增,然后赋值呢,还是先相加赋值然后自增两次呢.另外,++j又将如何表现呢? 结果是:6,12 这下明白了,原来 i++的理解应该是执行完整个表达式的其他操作后,然后才自增,所以例子中的a=3+3=6:而后i再自增2次,i=5:相反,++j是先自增然后再参加

java自增自减运算符

除了这+ - * / % 这5个算术运算符之外其实还有2种 ++ - - 这两个也可以属于算术运算符.他是自增自减运算的,例如:int i = 10; i++; i- - 或 ++i - -i但是这2个比较特殊,他有先运算和后运算一说.++ - -符号在后面的为后运算,++ - -符号在前面的为先运算例如:i++ i- - 这为后运算,++i - -i这为先运算. ++ - - 他是一个缩写的方式,融合了2句代码的缩写. 例如:int i = 100; int a = i; i = i+1; 意

【转】 C语言自增自减运算符深入剖析

转自:http://bbs.csdn.net/topics/330189207 C语言的自增++,自减--运算符对于初学者来说一直都是个难题,甚至很多老手也会产生困惑,最近我在网上看到一个问题:#include <stdio.h> void main()  /*主函数*/ { int a,b,c,d;  a=5; b=5;  c=(a++)+(a++)+(a++);  d=(++b)+(++b)+(++b);  printf("a=%d,b=%d,c=%d,d=%d\n",

C++ Primer 学习笔记_61_重载操作符与转换 --自增/自减操作符

重载操作符与转换 --自增/自减操作符 引言: 自增,自减操作符常常由诸如迭代器这种类实现,这种类提供相似于指针的行为来訪问序列中的元素.比如,能够定义一个类,该类指向一个数组并为该数组中的元素提供訪问检查: class CheckedPtr { public: //这个类没有默认构造函数,必须提供指向数组的指针. /**构造函数的參数是两个指针:一个指向数组的開始,还有一个指向数组的末端. *构造函数用这两个指针初始化 beg 和 end *并将 curr 初始化为指向第一个元素 */ Che

运算符(赋值、自增自减)、表达式、语句、优先级表

赋值运算符 赋值运算符左边的项目必须是一个变量的名字. 例:2002 = BMW:错误 1.乘除运算符高于加减运算符,运算符优先级相同由左向右. 2.赋值运算符优先级仅高于逗号运算符,结合方向从右到左. 注意:赋值运算符.条件运算符与单目运算符运算顺序从右到左,其他运算符从左到右. ++ 1.int a = 1; int b =2; b+a++==3,即先运算再加a=2,b=2; b+(++a)==4;即先加再运算a=2,b=2 b+++a==3;即(b++)+a=3,a=1,b=3; int 

运算符重载之自增自减篇

       今天写题要求写到重载自增自减运算符,之前看运算符的重载没有仔细思考,对于运算符++和--来说有两种形式,一种是前置的形式,一种是后置的形式.        如果不区分前置或者后置的区别的话,则我们就像其他运算符那样直接operator++()或者operator--()去重载就可以,但是如果我们要区分前置和后置,那么这种重载方式不能代替两种形式,所以在这里说明一下,我们用operator++()和operator--()重载前置运算符,用operator++(int)和operat

PHP的自增自减操作

PHP的变量可以存放任意类型的值.对变量执行自增自减操作时,其值的类型范围广,不仅限于数值类型.Perl等弱类型的语言均有此特征.而Java等变量值严格区分类型的语言,此种操作则仅限于数值类型值. 当字符串中有数值的各进制标识符(0x.0b等).科学记数法的标识符(E)时,会有特例,需要加以注意. 递增/递减运算符不影响布尔值.递减NULL值也没有效果,但是递增NULL的结果是1.在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的. $a = TRUE;var_dump(