变量的赋值 值传递

变量的赋值
如果变量是基本数据类型,赋值的是变量所保存的数据值
如果变量是引用数据类型,赋值的是变量所保存的数据的地址值
public class variable {
public static void main(String[] args){
System.out.println("**基本数据类型");
int m,n;
m=10;
n=m;
System.out.println(“m=”+m+"\t\t"+“n=”+n);
n=20;
System.out.println(“m=”+m+"\t\t"+“n=”+n);
System.out.println("**引用数据类型");
order o1=new order();
o1.orderid=1001;
order o2=o1;//赋值以后,o1和o2的地址值相同,都指向了堆空间的同一个对象实体
System.out.println(“o1.order=”+o1.orderid+"\t\t"+“o2.order=”+o2.orderid);
o2.orderid=1002;
System.out.println(“o1.order=”+o1.orderid+"\t\t"+“o2.order=”+o2.orderid);

}

}
class order{
int orderid;
}
方法的形参的值传递机制:值传递
1形参:在方法内定义的,定义方法时,声明在小括号内的参数;
实参:方法调用时,实际传递给形参的值数据
2值传递机制:
如果形参是基本数据类型,此时实参赋给形参的是:实参真实储存的数据值
如果形参是引用数据类型,此时实参赋给形参的是:实参的地址值
基本数据类型
public class formalparameter {
public static void main(String[] args){
int m=10,n=20;
System.out.println(“m=”+m+"\t\t"+“n=”+n);
formalparameter fo=new formalparameter();
//交换两个的变量
fo.swap(m,n);//方法执行完就销毁了
System.out.println(“m=”+m+"\t\t"+“n=”+n);//输出的还是main()中的m和n;
}
//定义交换的方法
public void swap(int i,int j){
int t=i;
i=j;
j=t;
}
}

引用数据类型
public class deliver1 {
public static void main(String[] args){
data1 d=new data1();
d.m=10;
d.n=20;
System.out.println(“m=”+d.m+", n="+d.n);
deliver1 d2=new deliver1();
d2.swap(d);//引用数据类型
System.out.println(“m=”+d.m+", n="+d.n);
}
public void swap(data1 i){//形参为引用数据类型
int t=i.m; //交换
i.m=i.n;
i.n=t;
}
}
class data1{
int m,n;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值