zoukankan      html  css  js  c++  java
  • 自增自减 a++,++a,a--,--a

    1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

    实例:

    public class selfAddMinus{
        public static void main(String[] args){
            int a = 3;//定义一个变量;
            int b = ++a;//自增运算
            int c = 3;
            int d = --c;//自减运算
            System.out.println("进行自增运算后的值等于"+b);
            System.out.println("进行自减运算后的值等于"+d);
        }
    }

    运行结果为:

    进行自增运算后的值等于4
    进行自减运算后的值等于2

    解析:

    • int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4

    • int d = --c; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2

    2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

    3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

    实例:

    public class selfAddMinus{
        public static void main(String[] args){
            int a = 5;//定义一个变量;
            int b = 5;
            int x = 2*++a;
            int y = 2*b++;
            System.out.println("自增运算符前缀运算后a="+a+",x="+x);
            System.out.println("自增运算符后缀运算后b="+b+",y="+y);
        }
    }

    运行结果为:

    自增运算符前缀运算后a=6,x=12
    自增运算符后缀运算后b=6,y=10

    注意1:

    i = a++ :现将a的值拿出来当作结果,然后进行自增操作,最后将结果的值赋给i。原因和运算符的优先级有关,= 的优先级小于 ++

    i = ++a :先进行自增操作,然后将得到的值赋值给i;

    int i = 6;
    int j = i++ + ++i;

    j = 6 + 8 = 13

    因为 i++中先把 i 的值先拿出来,就是6,再进行自增就是7。++i 就是在运算之前先进行自增操作,就是8。

    int i = 6;
    int j = ++i + i++; 

    j = 7 + 7 = 14

    因为 ++i 是在运算前先进行自增操作,也就是7。后面的 i++ 先把 i 的取出来再进行自增操作,也就是7。

    注意2:

    byte / short / char 都可以参与自增运算

    char c = ‘b’;
    
    int i = c + 2; 

    b 的ASCII码98,再加上2,就是100。

    ‘a’ ~ ‘z’ -> 97~122 ‘A’ ~ ‘Z’ -> 65~90 ‘0’ ~ ‘9’ -> 48~57

    char c = ‘0’;
    
    int i = c + 3; 

    char类型的0是ASCII码的48,而不是本来的数字0。


  • 相关阅读:
    (转载)学校搭建使用nginx同时编译rtmp-module进行直播的技术文档
    Python3 字典无has_key()方法,调用报AttributeError: 'dict' object has no attribute 'has_key'错误
    用CSS样式画横线和竖线的方法
    wireshark 包分析命令
    设置windows密码只存在NTLM-Hash下
    修改默认3389远程连接-注册表
    ipc$爆破密码
    windows server 2008/2012 无法安装AD域解决方法记录
    Android UiAutomator 自动化测试一些代码实例---新手3
    linux 添加防火墙开放端口
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9409389.html
Copyright © 2011-2022 走看看