自增(++)和自减(--)运算符

自增(++)和自减(--)运算符

ID:14353385

大小:77.00 KB

页数:6页

时间:2018-07-28

自增(++)和自减(--)运算符_第1页
自增(++)和自减(--)运算符_第2页
自增(++)和自减(--)运算符_第3页
自增(++)和自减(--)运算符_第4页
自增(++)和自减(--)运算符_第5页
资源描述:

《自增(++)和自减(--)运算符》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢?自增(++)和自减(--)运算符我们先来回答几个问题吧:Java代码1.int i = 0;  2.int j = i++;  3.int k = --i;  inti=0;intj=i++;intk=--i;这段代码运行后,i等于多少?j等于多少?k等于多少?太简单了?好,继续:Java代码1.int i = 0;  2.int j = i++ + ++i;  3.int k = --i + i--;  inti=0;

2、intj=i+++++i;intk=--i+i--;代码执行后i、j、k分别等于多少呢?还是很简单?好,再继续:Java代码1.int i=0;  2.System.out.println(i++);  inti=0;System.out.println(i++);这段代码运行后输出结果是什么?0?1?Java代码1.float f=0.1F;  2.f++;  3.double d=0.1D;  4.d++;  5.char c='a';  6.c++;  floatf=0.1F;f++;doubled=0.1D;d++;charc='a';c++;上面这段代码可

3、以编译通过吗?为什么?如果你能顺利回答到这里,说明你对自增和自减运算符的掌握已经很好了。为了分析出上面提出的几个问题,我们首先来回顾一下相关知识:·自增(++):将变量的值加1,分前缀式(如++i)和后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。·自减(--):将变量的值减1,分前缀式(如--i)和后缀式(如i--)。前缀式是先减1再使用;后缀式是先使用再减1。在第一个例子中,intj=i++;是后缀式,因此i的值先被赋予j,然后再自增1,所以这行代码运行后,i=1、j=0;而intk=--i;是前缀式,因此i先自减1,然后再将它的值赋予k,因此这

4、行代码运行后,i=0、k=0。在第二个例子中,对于intj=i+++++i;,首先运行i++,i的值0被用于加运算(+),之后i自增值变为1,然后运行++i,i先自增变为2,之后被用于加运算,最后将i两次的值相加的结果1+2=3赋给j,因此这行代码运行完毕后i=2、j=3;对于intk=--i+i--;用一样的思路分析,具体过程在此不再赘述,结果应该是i=0、k=2。自增与自减运算符还遵循以下规律:1.可以用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。2.在Java5.0及以上版本中,它们可以用于基本类

5、型对应的包装器类Byte、Short、Integer、Long、Float、Double、Character。3.它们的运算结果的类型与被运算的变量的类型相同。下面的这个例子验证以上列出的规律,它可以编译通过并执行。Java代码1.public class Test {  2.    public static void main(String[] args) {  3.        // 整型  4.        byte b = 0;  5.        b++;  6.        // 整型  7.        long l = 0;  8.   

6、     l++;  9.        // 浮点型  10.        double d = 0.0;  11.        d++;  12.        // 字符串  13.        char c = 'a';  14.        c++;  15.        // 基本类型包装器类  16.        Integer i = new Integer(0);  17.        i++;  1.    }  2.}  publicclassTest{publicstaticvoidmain(String[]args){//整型

7、byteb=0;b++;//整型longl=0;l++;//浮点型doubled=0.0;d++;//字符串charc='a';c++;//基本类型包装器类Integeri=newInteger(0);i++;}}按位运算符你还能说出来按位运算符一共有哪几种吗?对比下面的列表看看,有没有从你的记忆中消失了的:1.按位与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。2.按位或运算(

8、):二元运算符。当被运算的两个值都为0时,运算结果为0;否则为1。3.按位异或运算(^):二元运算符。当被运算的两个值中任意一个为1,另一个为0时,运算结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。