zoukankan      html  css  js  c++  java
  • 方法的参数值传递机制

    /*
    形参:方法声明时,方法小括号内的参数
    实参: 调用方法时,实际传入的参数的值
    
    规则:java中的参数机制:值传递机制
              形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
              形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量
     */
    public class TestArgsTransfer {
        public static void main(String[] args) {
            TestArgsTransfer tt = new TestArgsTransfer();
            int i = 10;
            int j = 5;
            System.out.println("i:" + i + "j:" + j);
    
            tt.swap(i, j);// i1 0 j5 swap里面的i5 j10所以没变
            System.out.println("i:" + i + "j:" + j);// i10 j5
    
        }
    
        // 交换两个变量的方法
        public void swap(int i, int j) {
            int temp = i;
            i = j;
            j = temp;
        }
    }

    输出结果:

    i:10j:5
    i:10j:5

     
    public class TestArgsTransfer1 {
        public static void main(String[] args) {
            TestArgsTransfer1 tt = new TestArgsTransfer1();
            DataSwap ds = new DataSwap();
            System.out.println("ds.i" + ds.i + "ds.j" + ds.j);
            tt.swap(ds);
            System.out.println("ds.i" + ds.i + "ds.j" + ds.j);
        }
    
        // 交换元素的值
        public void swap(DataSwap d) {// 交换两个变量的值
            int temp = d.i;
            d.i = d.j;
            d.j = temp;
        }
    }
    
    class DataSwap {
        int i = 10;
        int j = 5;
    }


    输出结果:

    ds.i10ds.j5
    ds.i5ds.j10

     
    All that work will definitely pay off
  • 相关阅读:
    Kth Largest Element in an Array -- LeetCode
    First Missing Positive -- LeetCode
    Path Sum II (Find Path in Tree) -- LeetCode
    Email List
    Divide Two Integers -- LeetCode
    Delete Node in a Linked List
    Compare Version Numbers -- LeetCode
    Broken Code
    Trapping Rain Water (Bar Height) -- LeetCode
    Count and Say (Array Length Encoding) -- LeetCode
  • 原文地址:https://www.cnblogs.com/afangfang/p/12483934.html
Copyright © 2011-2022 走看看