java函数怎样传值

2024-11-23 03:42:40
推荐回答(5个)
回答1:

aab

aa

这是我运行后的结果。t.add(t.s)方法调用的结果先输出,第二个在main方法内是全局变量直接输出。

二、int不是类类型。

    Integer n=new Integer("0");

       int n=0;

       是一样的效果。

基本数据类型和相应的包装类 

boolean-Boolean 

char----Character 

byte----Byte 

short--- Short 

int-----Integer 

long----Long 

float---Float 

double--Double

回答2:

传值就是你改变这个值,不会改变原值。例如

int a=1;

把a作为参数经过方法调用,在方法中改变a的值如。

a=2;

在方法中a是变成2了。

但是在外面a还是1。.

如果是传引用,值是会变的。

例如这样

public class Test {
public void test(List list){
list.remove(0);
list.add("b");
}
public static void main(String[] args) {
String a="123";
List list=new ArrayList();
list.add(a);
new Test().test(list);
  
System.out.println(list.get(0));
}
}

回答3:

基本数据类型都是值传递,string比较特殊,它是一个类,但不是引用传值,string一旦赋值,所指的引用(内存地址指向的值)就不能改变。string a="qwr" ,a=a+"ewer"此时实际上是又创建了一个地址引用,原有的引用地址成了垃圾,无法再使用,但他的值是没有变的

回答4:

这不是传值的问题啊,其实是代码执行的循序的问题啊。这样:
public class t4 {
String s="aa";
public static void main(String[] args) {
t4 t=new t4();
t.add(t.s);
//System.out.println(t.s);
}
private void add(String s) {
s=s+"b";
System.out.println(s);
}
}

integer是int的封装类啊。

回答5:

你在add方法里面赋值的s是实参的值 实参的s变成aab,类变量s还是aa
如果想要t.s是aab在add里面this.s = s + "b";