zoukankan      html  css  js  c++  java
  • java之扩展运算符

    java中的扩展运算符为+=、-=、/=、%=、*=

    当使用扩展运算符时,变量在参与赋值运算时会把结果自动强制转换为当前变量的类型,比如:

    public class Test{
        public static void main(String[] args) {
            short a = 1;
            //此时的a是short类型
            a += 1;
            System.out.println(getType(a));
        }
        public static String getType(Object obj) {
            return obj.getClass().getName();
        }
    }

    输出:java.lang.Short

    如果是正常的进行赋值的话,则需要进行强制转换:

    public class Test{
        public static void main(String[] args) {
            short a = 1;
            //此时的a是short类型
            a = (short)(a + 1);
            System.out.println(getType(a));
        }
        public static String getType(Object obj) {
            return obj.getClass().getName();
        }
    }

    输出:java.lang.Short

    思考以下代码的输出是什么?

    public class Test{
        public static void main(String[] args) {
            int a = 1;
            a *= 0.1;
            System.out.println(a);
            int b = a++;
            System.out.println(a);
        }
    }

    分析:由于扩展运算符会将运算后的结果进行强制转换成原来变量的类型,所以a*=0.1中a的类型还是int,正好与后面声明的int b相对应,所以此时a=0。而int b = a++;a++是先赋值后运算,所以b的值是0,a的值变为1。

    所以最后输出为:

    0

    1

    0

  • 相关阅读:
    Prometheus09 promtool工具探索
    Prometheus04 prometheus查询语言
    03K8S之service工作方式及使用
    Prometheus08 pushgateway
    prometheus06 grafana可视化
    prometheus05 prometheus使用案例
    Prometheus03 cAdvisorDocker容器监控
    02K8S之自主式Pod
    Prometheus07 blackbox
    javascript实现tab切换效果
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12036044.html
Copyright © 2011-2022 走看看