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;
}