温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中形参和实参的区别是什么

发布时间:2022-02-28 10:38:25 来源:亿速云 阅读:182 作者:iii 栏目:开发技术

这篇“Java中形参和实参的区别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中形参和实参的区别是什么”文章吧。

目录

    关于变量的赋值:

    如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
    如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

    public class ValueTransferTest {
    	
    	public static void main(String[] args) {
    		
    		System.out.println("***********基本数据类型:****************");
    		int m = 10;
    		int n = m;
    		
    		System.out.println("m = " + m + ", n = " + n);
    		
    		n = 20;
    		
    		System.out.println("m = " + m + ", n = " + n);
    		
    		System.out.println("***********引用数据类型:****************");
    		
    		Order o1 = new Order();
    		o1.orderId = 1001;
    		
    		Order o2 = o1;//赋值以后,o1和o2的地址值相同,都指向了堆空间中同一个对象实体。
    		
    		System.out.println("o1.orderId = " + o1.orderId + ",o2.orderId = " +o2.orderId);
    		
    		o2.orderId = 1002;
    		
    		System.out.println("o1.orderId = " + o1.orderId + ",o2.orderId = " +o2.orderId);
    		
    	}
    	
    }
    
    class Order{
    	
    	int orderId;
    	
    }

    方法的形参的传递机制:值传递

    1.形参:方法定义时,声明的小括号内的参数

    实参:方法调用时,实际传递给形参的数据

    2.值传递机制:

    如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
    如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。

    public class ValueTransferTest1 {
    	public static void main(String[] args) {
    		
    		int m = 10;
    		int n = 20;
    		
    		System.out.println("m = " + m + ", n = " + n);
    		//交换两个变量的值的操作
    //		int temp = m ;
    //		m = n;
    //		n = temp;
    		
    		ValueTransferTest1 test = new ValueTransferTest1();
    		test.swap(m, n);
    		
    		System.out.println("m = " + m + ", n = " + n);
    		
    		
    	}
    	
    	
    	public void swap(int m,int n){
    		int temp = m ;
    		m = n;
    		n = temp;
    	}
    }
    public class ValueTransferTest2 {
    	
    	public static void main(String[] args) {
    		
    		Data data = new Data();
    		
    		data.m = 10;
    		data.n = 20;
    		
    		System.out.println("m = " + data.m + ", n = " + data.n);
    		
    		//交换m和n的值
    //		int temp = data.m;
    //		data.m = data.n;
    //		data.n = temp;
    		
    		ValueTransferTest2 test = new ValueTransferTest2();
    		test.swap(data);
    		
    		
    		System.out.println("m = " + data.m + ", n = " + data.n);
    		
    	}
    	
    	public void swap(Data data){
    		int temp = data.m;
    		data.m = data.n;
    		data.n = temp;
    	}
    	
    }
    
    class Data{
    	
    	int m;
    	int n;
    
    }

    以上就是关于“Java中形参和实参的区别是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI