JAVA学习--方法的参数传递

* 方法的参数传递(重点、难点)
 * 1.形参:方法声明时,方法小括号内的参数
 *  
实参:调用方法时,实际传入的参数的值
 *   
 * 2.规则:java中的参数传递机制:值传递机制
 *  
1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
 *  
2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
 *

 1 public class TestArgsTransfer {
 2     public static void main(String[] args) {
 3         TestArgsTransfer tt = new TestArgsTransfer();
 4
 5         int i = 10;
 6         int j = 5;
 7         System.out.println("i:" + i + " j:" + j);//i : 10  j : 5
 8
 9 //        //交换变量i与j的值
10 //        int temp = i;
11 //        i = j;
12 //        j = temp;
13         tt.swap(i, j);//将i的值传递给m,j的值传递给n
14
15
16         System.out.println("i:" + i + " j:" + j);//i : 10  j : 5
17     }
18
19     //定义一个方法,交换两个变量的值
20     public void swap(int m,int n){
21         int temp = m;
22         m = n;
23         n = temp;
24         System.out.println("m:" + m + " n:" + n);
25     }
26 }
27
28 //传递调用
29 public class TestArgsTransfer1 {
30     public static void main(String[] args) {
31         TestArgsTransfer1 tt = new TestArgsTransfer1();
32         DataSwap ds = new DataSwap();
33
34         System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
35
36         tt.swap(ds);
37         System.out.println(ds);
38
39         System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
40
41     }
42     //交换元素的值
43     public void swap(DataSwap d){
44         int temp = d.i;
45         d.i = d.j;
46         d.j = temp;
47         System.out.println(d);//打印引用变量d的值
48     }
49 }
50
51 class DataSwap{
52     int i = 10;
53     int j = 5;
54 }
时间: 2024-10-11 20:44:37

JAVA学习--方法的参数传递的相关文章

深入理解Java中方法的参数传递机制

形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. 在程序设计语言中,参数有形式参数和实际参数之分,先来看下它们的定义: 形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数,简称"形参". 实际参数:在主调函数中调用一个函数时,函数名后面括号中的参数称为"实际参数",简称"

java中方法的参数传递机制(值传递还是引用传递)

看到一个java面试题: 问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本.指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的. 以下是从其他文章里转的,只为加深理解 public class TempTest { private void te

Java学习——方法

在这一次的学习中我觉得首先要了解: 什么是方法呢 方法又怎么定义与调用 上面这段代码是我们经常写到的,其实它就是一个方法,其中 public 是修饰符 void是返回值类型 main就是方法名 args就是参数 println()就是一个方法 Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方也被引用 这边简单的说下方法的优点 是程序变得更简短而清晰 有利于程序维护 可以提高程序开发的效率 提高代码的重要性

java之方法的参数传递(值传递和引用传递)

方法,必须有其所在类或对象调用时才有意义,若方法有参数: 形参:方法声明时的参数: 实参:方法调用时实际传给形参的参数值: java的实参如何传入方法呢? 首先要明确:变量分为两大类:基础数据类型.引用数据类型. 基础数据类型参数传递方式只有一种:值传递.即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响: public class Test{ public static void test(int i) { i = 6; System.out.println(i); } public

JAVA学习--方法的重载

* 方法的重载(overload)  * 要求:1.同一个类中 2.方法名必须相同 3.方法的参数列表不同(①参数的个数不同②参数类型不同)  * 补充:方法的重载与方法的返回值类型没有关系! public class TestOverload { } class OverLoad{ //定义两个int型变量的和 public int getSum(int i,int j){ return i + j; } //定义三个int型变量的和 public int getSum(int i,int j

Java学习----方法的覆盖

方法的覆盖:子类继承父类,子类重写父类的同名方法. 覆盖的原则: 1. 方法的参数必须跟父类保持一致 2. 子类方法的修饰符的范围必须大于等于父类方法同名的修饰符(public > private) public class Father { public void print() { System.out.println("Father:print()"); } } public class Son extends Father{ // 方法的覆盖:子类重写父类的同名方法 Ov

java方法的参数传递

java中方法的参数传递只有一种:值传递public class SwapMethod { /**  * 交换方法  * @param a  * @param b  */ public static void Swap(int a , int b){  int temp ;  temp =a;  a = b;  b = temp;  System.out.println("交换后的a = "+a+";  b = "+b); } public static void

java 学习笔记2 面向对象(上)

类和对象 类是某一批对象的抽象,可以把类理解成某种概念.对象是一个具体存在的实体.类和对象是面向对象的核心. 类定义的是多个实例的特征,类不是具体存在,实例才是具体存在. 定义类(class)的语法: [修饰符] class 类名 { 零个到多个构造器定义.... 零个到多个成员变量.... 零个到多个方法....} 要点:1.三种常见的成员:构造器(new关键字调用) 成员变量 方法 2.类名由一个或多个有意义的词连接而成,每个单词首字母大写,其余小写. 3.修饰符可以是public fina

我的Java开发学习之旅------>Java语言中方法的参数传递机制

实参:如果声明方法时包含来了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时传给形参的参数值也被称为实参. Java的实参值是如何传入方法?这是由Java方法的参数传递机制来控制的,Java里方法的参数传递方式只有一种:值传递.所谓值传递,就是将实际参数的副本(复制品)传入方法内,而参数本身不会收到任何影响. 一.参数类型是原始类型的值传递 下面通过一个程序来演练 参数类型是原始类型的值传递的效果: public class ParamTransferTest { public sta