`

java方法参数中的基本数据类型传递和引用数据类型传递总结

    博客分类:
  • java
 
阅读更多

先看例子

 

1.在方法中,基本数据类型的传递

package cn.zyy;

public class Test {

	public static void main(String[] args) {
		int i =1,j=2;
		change(i,j);
		System.out.println("i=" +i + ",j="+ j);
		/**结果为:i=1,j=2*/
	}
	
	public static void change(int i,int j){
		int temp = i;
		i = j;
		j = temp;		
	};

}

  总结:在方法中,如果参数传递的是基本数据类型的数据,则它传递的是值得副本,并不是值本身

 

2.在方法参数中,引用数据类型的传递

package cn.zyy;

public class Test {

	public static void main(String[] args) {
		int [] numbers = {1,2,3,4,5};
		change(numbers);
		System.out.println(numbers[0]); //结果为10
	}

	public static void change(int [] numbers){
		numbers[0] = 10;	
	}
	//可变参数类型其实也是一个数组(和上面的方法拥有同样的效果)	
	public static void change1(int... numbers){
		numbers[0] = 11;
	}

}

   总结: 如果方法中传递的是引用数据类型,则它传递的是引用(其实就是真正数据值所存放在内存中的地址值)的副本,也就是说,实质上如果修改的话,是对正真的值进行修改

 

3.基于以上进行改变

package cn.zyy;

public class Test {

	public static void main(String[] args) {
		T t = new T();
		System.out.println(t.i);  //输出的结果是1
	}

	public static void change(T t){	//此处传递的是上面对象引用的副本值
		t = new T();	//此处在创建新对象时,将之前引用的副本值修改,所以在修改的时候,并没有修改以前的 值
		t.i = 10;
	}
}

class T {
	public int i =1;
}

  总结: 如果传递的是引用类型的话,如果引用值被修改了,那么之前传进来的对象,将不会再被修改。

 

 

哈哈,虽然比较简单,但是在笔试中会问到,所以今天写了出来。

 

 

分享到:
评论

相关推荐

    浅析Java引用类型和方法参数传递

    ### 浅析Java引用类型和方法参数传递 #### 一、引言 在Java编程语言中,理解数据类型的处理方式对于编写高效、可维护的代码至关重要。本文将深入探讨Java中的引用类型及其如何影响方法参数的传递机制。通过具体实例...

    Java中的基本类型和引用类型变量的区别

    Java 中的基本类型和引用类型变量是两个不同的概念,它们在内存分配、变量赋值和函数传递等方面有着本质的区别。 基本类型是 Java 中的八种基本类型,包括 byte、short、int、long、float、double、char 和 boolean...

    Java:按值传递还是按引用传递详细解说

    综上所述,在Java中,对于基本数据类型的参数传递实际上是按值传递,而对于对象类型的参数传递则是按引用传递的一种特殊形式——传递的是对象引用的副本,但由于这些副本指向同一个对象,因此对对象的修改会影响到...

    java 值传递和引用传递的比较

    在Java中,基本数据类型(如int、double、boolean等)的参数是通过值传递的。这意味着当一个方法被调用时,实际的变量副本被复制到方法的局部变量表中。例如: ```java public void changeValue(int num) { num = ...

    java值传递与引用传递

    在Java中,除了基本数据类型外的所有类型(包括自定义类和接口实现)都是按引用传递的。然而,这里有一个关键点需要注意,Java并不支持真正的引用传递,而是使用"传对象的引用副本"来模拟引用传递的效果。 ```java ...

    解析java基本数据类型传递与引用传递区别

    Java中的参数传递方式有两种基本类型:按值传递和引用传递,但实际上Java只支持按值传递。这意味着在Java中,无论是基本数据类型还是引用数据类型,传递的都是值的一个拷贝。 对于基本数据类型(如int、char、float...

    Java的引用和函数参数传递

    通过上述分析,我们可以清楚地了解到Java中引用和函数参数传递的基本概念以及它们的具体应用。了解这些概念对于正确使用Java进行编程非常重要,尤其是在处理复杂的数据结构和对象交互时。希望本文能帮助读者更好地...

    Java语言中参数值传递和引用传递比较.pdf

    Java 语言中参数值传递和引用传递比较 Java 语言中参数值传递和引用传递是两种不同的参数传递方式,它们在 Java 编程中扮演着重要的角色。参数值传递是指将实际参数的值复制给形式参数,形式参数的变化不影响实际...

    Java方法参数传递机制原理解析

    Java方法参数传递机制原理解析 ...Java方法参数传递机制原理解析是指Java中方法调用时传递参数的机制,参数传递机制可以分为值传递和引用传递,值传递适用于基本数据类型,引用传递适用于引用数据类型。

    Java语言方法间的数据传递问题.pdf

    Java语言中的数据类型可以分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、布尔型等,而引用数据类型包括类、数组、字符串等。这两种变量都存储在局部变量表中,并且都是在Java操作数栈中制...

    Java中的值传递和引用传递的区别.doc

    根据传递的数据类型不同,Java中有两种主要的参数传递方式:值传递(Value Passing)和引用传递(Reference Passing)。这两种方式决定了函数内部如何处理传入的参数,进而影响到函数外部的原始数据是否会发生变化。...

    走进Java中方法的参数传递.pdf

    Java有两类数据类型:基本数据类型(如int、char、boolean等)和对象类型。这两种类型的参数传递方式有所不同。 对于基本数据类型,Java采用的是**按值传递**的方式。这意味着当你将一个基本类型的变量作为参数传递...

    Java参数传递PPT

    在值传递中,函数或方法接收的是原始数据类型(如int、double、boolean)参数的副本。例如,如果有一个方法tripleValue,它接受一个double类型的percent并尝试将它乘以3,实际上这个操作不会影响到原始的percent变量...

    JAVA语言中参数传递的深入剖析.pdf

    因此,在Java语言中参数传递机制的实现方法可以分为两种情况,即按值传递和引用传递。了解Java语言中参数传递机制的原理对于初学者来说非常重要,可以帮助他们更好地理解Java语言的工作机制。 Java语言中参数传递...

    引用数据类型作为参数传递.html

    Java中引用数据类型作为参数传递时,如果参数地址值发生改变,那么将只是形参改变,实参并没有变化

    浅谈Java中方法的参数传值.pdf

    Java方法参数传值是Java编程中的基础知识点,涉及变量、数据类型和方法调用的机制。在Java中,数据类型分为基本数据类型和引用数据类型。基本数据类型包括布尔型(boolean)、字节型(byte)、短整型(short)、整型...

    Java参数传递的经典示例

    Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...

    值传递和引用传递

    - **不可变性**:对于不可变数据类型(如Java中的基本数据类型),一旦值被复制后,形参的任何改变都不会影响到实参。 ##### 2.2 Java中的值传递示例 ```java public class ValuePassingExample { public static ...

Global site tag (gtag.js) - Google Analytics