• 基础语法-赋值运算符


                 基础语法-赋值运算符

                                           作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     

     

     

    一.Java中赋值运算符语法简介

    /**
     *     赋值运算符
     * @author 尹正杰
     *
     */
    public class Dome1 {
    
        public static void main(String[] args) {
            /*
             *     常见的赋值运算符:
             *         =:
             *             表示赋值运算符,如"a = 100".
             *         +=:
             *             也是一种加法赋值运算符的一种简写形式,如"a += 100"表示 "a = a + 100".
             *         -=:
             *             也是一种减法赋值运算符的一种简写形式,如"a -= 100"表示 "a = a - 100".
             *         *=:
             *             也是一种乘法赋值运算符的一种简写形式,如"a *= 100"表示 "a = a * 100".
             *         /=:
             *             也是一种除法赋值运算符的一种简写形式,如"a /= 100"表示 "a = a / 100".
             *         %=:
             *             也是一种取模赋值运算符的一种简写形式,如"a %= 100"表示 "a = a % 100".
             */
            
            int a = 100;
            
            a += 20;    //等价于a = a + 20;
            
            System.out.println(a);
            
            short b = 10;
            
            //b = b + 20;    //这种写法时编译失败的,因为b会被隐式提升为int类型,运算之后的结果还是int类型,所以赋值给short类型会失败,即会有安全隐患。
            
            b = (short)(b + 20);     //等价于 "b += 20;",因为"+="运算在赋值时,会自动帮咱们完成了转换操作.
        
            System.out.println(b);
            
        }
    }

    二.不引入第三方变量使得两个整数值发生互换

    public class Demo {
    
        public static void main(String[] args) {
            /*
             *     面试题:
             *         对两个整数变量的值进行互换,不使用第三方变量.
             */
            int x = 3000;
            int y = 6000;
            System.out.println("x=" + x + ",y=" + y);
            
            //使用第三方变量实现两个整数变量的值进行互换,不符合题意.
    //        int temp = x;
    //        x = y;
    //        y = temp;
    //        System.out.println("x=" + x + ",y=" + y);
            
            /*
             *     虽然没有引入一个新的变量就实现了整数互换,但是这种方式有一个安全隐患.
             * 
             *     当x和y的值都比较大,那么相加后的结果可能会超过int的取值范围,因此这种方法不推荐使用.
             */
    //        x = x + y;
    //        y = x - y;
    //        x = x - y;
    //        System.out.println("x=" + x + ",y=" + y);
            
            /*
             *     使用^位运算符,这种方式使用了位运算,效率是最高,而且还能避免超出int取值范围的问题.
             *     
             *     但是可读性很差,这种形式只有在面试的时候会写,一般工作中都会借助于第三方变量实现.
             */
            x = x ^ y;
            y = x ^ y;
            x = x ^ y;
            System.out.println("x=" + x + ",y=" + y);
        }
    
    }

  • 相关阅读:
    一款HTML5网页网络检测工具--LibreSpeed
    远程连接Linux中的Mysql数据库
    Ubuntu安装python-rrdtool模块
    Ubuntu 18.04 lxd和lxd-client导致版本过低无法apt安装
    7.JVM调优-方法区,堆,栈调优详解
    6.堆和GC
    5.java内存模型详细解析
    4.自定义类加载器实现及在tomcat中的应用
    3.代码实现自定义类加载器
    2.双亲委派机制详细解析及原理
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12210561.html
Copyright © 2020-2023  润新知