Javaパラメータ転送



package test;

/**
 *
 * @author KingSlayer
 */
public class Main {
    /**
     * @param args the command line arguments
     * java       
     * 1.     :char、byte、short、int、long、float、double、boolean
     * 2.     : 、  、   (           )。         。
     * 
     * 
     *
     * 1.       ,                ,           。
     * 2.       ,                  ,               。
     *                ,                ,
     *                         ,          。
     *    (String                )
     * 3.            ,         。
     * 4.                    ,                。
     */
    public Main(int i){
        attr = i;
    }
    public static void swapInt(int i1, int i2){
        System.out.println("Java       ,  int         ,        ");
    }
    public static void changeString(String str){
        str="new String";
    }
    public static void addDivider(){
        System.out.println("-------------      ----------------");
    }
    public static void changeStringBuffer(StringBuffer strB1, StringBuffer strB2){
        strB1.append(" has been changed!");
        strB2 = strB1;
    }
    public static void changeClass(Main a){
        a.attr=1;
    }
    public static void swapClass(Main a, Main b){
       Main c = a;
       a = b;
       b = c;
    }
    public static void main(String[] args) {
        // TODO code application logic here
        int i1 = 0, i2 = 0;
        swapInt(i1,i2);
        addDivider();
        String str = "String str";
        changeString(str);
        System.out.println(str);
        addDivider();
        StringBuffer strB1 = new StringBuffer("StringBuffer strB");
        StringBuffer strB2 = new StringBuffer("StringBuffer strB");
        changeStringBuffer(strB1,strB2);
        System.out.println(strB1);
        System.out.println(strB2);
        Main a = new Main(0);
        System.out.print("        :begin:" + a.attr);
        changeClass(a);
        System.out.println("    end:" + a.attr);
        Main b = new Main(0);
        addDivider();
        System.out.print("  a"+a.attr+"    b"+b.attr+"      ");
        swapClass(a, b);
        System.out.print("  a"+a.attr+"    b"+b.attr+"  ");

    }
    private int attr = 0;
}

結果:

run:
Java       ,  int         ,        
-------------      ----------------
String str
-------------      ----------------
StringBuffer strB has been changed!
StringBuffer strB
        :begin:0    end:1
-------------      ----------------
  a1    b0        a1    b0      (   :0  )

//                 
//              
{
    int[] a = {1, 2};
    swap(a);
    //result a[0]=2; a[1]=1;
}
public static void swap(int[] a){
    int i = a[0];
    a[0] = a[1];
    a[1] = i;
}