zoukankan      html  css  js  c++  java
  • JAVA值传递之基本数据类型和引用数据类型

    #1.基本数据类型值传递

    package 经典小Demo.值传递;
    
    public class Test {
        public static void main(String[] args) {
            int a=5;
            int b=10;
            change(a,b);
            System.out.println("a="+a);
            System.out.println("b="+b);
        }
        public static void change(int a,int b){
            a=100;
            b=200;
        }
    
    }
    
    /**
    *  a=5
    *  b=10
    */
    说明:
    成员变量a,b与方法change的a,b无关,而change这个方法
    执行完了之后里面的变量值要弹栈销毁,而这里的a,b值是
    形参a,b的值。
    当传递的参数为基本类型,形参的改变不影响实际参数。

    总结:
    普通类型的形参的改变不会影响实参。
    -----------------------------------------------------------------------------------------------------------------------------------------

    #2.引用数据类型的值传递
    package 经典小Demo.值传递;
    
    public class ArgumentsDemo02 {
        public static void main(String[] args) {
            int[] arr={1,2,3};
            change(arr);
            //把乘以2后的结果遍历输出
            for (int i = 0; i <arr.length; i++) {
                System.out.println(arr[i]);
            }
        }
        public static void change(int[] arr){
            //数组的每个元素乘以2
            for (int i = 0; i <arr.length ; i++) {
                arr[i]*=2;
            }
        }
    }
    /**
    * 2
    * 4
    * 6
    */
    说明: 
    引用类型值传递传递的是地址值
    方法的形参的改变会影响实参

    总结:
    引用类型的形参会影响实参的改变

    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    GGEditor
    Vue 项目(HTML5 History 模式) 部署服务器
    mysql连接状态
    mysql连接状态
    HBase配置性能调优
    HBase配置性能调优
    spark streaming检查点使用
    spark streaming检查点使用
    spark streaming的有状态例子
    spark streaming的有状态例子
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/10498228.html
Copyright © 2011-2022 走看看