精华内容
下载资源
问答
  • 参数传值方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。传值机制在Java中,方法的所有参数...

    参数传值

    方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。

    传值机制

    在Java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的值的拷贝。例如,如果向方法的int型参数x传递一个int值,那么参数x得到的值是传递的值的拷贝。

    基本数据类型的传值

    对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。

    比如定义了一个long型,是可以向它传递int short,但是比Long型高的float和double是不可以传递的。

    引用参数类型的传值

    当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。

    7ec2809e1d03?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    可变参数

    可变参数是指在声明方法时不给出参数列表中从某项直至最后一项参数的名字和个数,但这些参数的类型必须相同。可变参数使用“…”表示若干个参数,这些参数的类型必须相同,最后一个参数必须是参数列表中的最后一个参数。例如:public void f(int … x)那么,方法f的参数列表中,从第1个至最后一个参数都是int型,但连续出现的int型参数的个数不确定。称x是方法f的参数列表中的可变参数的“参数代表”。

    参数代表可以通过下标运算来表示参数列表中的具体参数,即x[0],x[1]…x[m]分别表示x代表的第1个至第m个参数。

    PS:见示例。

    Computer类 提供了一个求和的方法

    public class Computer {

    public int getSum(int... x) { //返回int类型求和的方法

    int sum = 0;

    for (int i = 0; i < x.length; i++) {

    sum = sum + x[i];

    }

    return sum;

    }

    }

    Demo16

    public class Demo16 {

    public static void main(String[] args) {

    Computer computer = new Computer(); //声明对象并完成初始化

    int result = computer.getSum(123,345,567);

    System.out.println("123,345,567之和:"+result);

    }

    }

    结果

    7ec2809e1d03?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    展开全文
  • 4.5 参数传值

    2017-11-24 13:44:42
    4.5 参数传值 4.5.1 传值机制 在Java中,方法的所有参数都是传值的,也就是说,方法中参数变量的值是调用者指定的值的拷贝 4.5.2 基本数据类型参数的传值 对于基本数据类型的参数,向该参数传递的值的...

    4.5 参数传值


    4.5.1 传值机制

    在Java中,方法的所有参数都是传值的,也就是说,方法中参数变量的值是调用者指定的值的拷贝


    4.5.2 基本数据类型参数的传值

    对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。

    例如:不可以向一个int值传递一个float值,可以向一个double传递一个float

    代码例子:

    //基本数据类型参数传值
    public class Example4_6_Computer {
    	int add(int x, int y) {
    		return x + y;
    	}
    }
    
    public class Example4_6 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    Example4_6_Computer xComputer =new Example4_6_Computer();
    int m=90;
    int n=10;
    int result1 = xComputer.add(m, n);//将m、n传值给x、y
    System.out.println(result1);
    
    int result2 = xComputer.add(10+m, n*2+10);//将10+m、n传值给x、n*2+10
    System.out.println(result2);
    	}
    }//输出结果为:100、300


    4.5.3 引用类型参数的传值

    Java引用数据类型:数组,对象,接口

    当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量中引用的实体

    //引用类型参数传值例子
    public class Example4_7_Battery {
    	int elect;
    
    	public Example4_7_Battery(int amou) {
    		// TODO Auto-generated constructor stub
    		elect = amou;
    	}
    }
    
    public class Example4_7_Radio {
    	void openRadio(Example4_7_Battery battery) {
    		battery.elect = battery.elect - 10;
    	}
    }
    
    public class Example4_7 {
    
    	public static void main(String[] args) {
    		//引用类型参数的传值
    		Example4_7_Battery battery =new Example4_7_Battery(100);//创建对象
    		System.out.println("第一次传值:"+battery.elect);
    		Example4_7_Radio radio=new Example4_7_Radio();
    		System.out.println("开始使用第一次传值:");
    		radio.openRadio(battery);
    		System.out.println("最后值:"+battery.elect);
    
    	}
    
    }
    //输出结果:
    //第一次传值:100
    //开始使用第一次传值:
    //最后值:90


    展开全文
  • Java参数传值

    2018-10-12 20:32:37
    基本数据类型参数传值 对于基本类型的参数,向该参数传递的值的级别不可以高于该参数的级别,可以低于该参数的级别。如果传递值的级别比参数的级别低,则传递过程中会自动转化。 引用类型参数的传值 这里先普及一下...

    当方法被调用的时候,如果方法有参数,参数必须要实例化,即参数必须有具体的值。在Java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的一个副本。

    基本数据类型参数传值

    对于基本类型的参数,向该参数传递的值的级别不可以高于该参数的级别,可以低于该参数的级别。如果传递值的级别比参数的级别低,则传递过程中会自动转化。

    引用类型参数的传值

    这里先普及一下什么是引用类型: 对象,数组,接口等都是引用类型,关于引用类型的含义或者理解在上篇博客第三点有提到:对象的引用和实体。当参数是引用类型时,“传值”传递过去的是变量中存放的“引用”,而不是变量的实体。

    所以对于两个同类型的引用型变量,如果具有同样的引用,就会有同样的实体,因此,如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化。但是,改变参数的“引用”不会影响向其传值的变量中存放的“引用”。放个图加深理解:
    引用传值

    说明:

    • 上面的意思是说当调用左右任何一个引用来改变实体后,另一个引用所指实体也会改变,它们本来就是一个嘛。当改变左右任何一个引用,就是该引用不再指向这个实体后,另一个应用不受影响,仍然指向这个实体
    • 这个想想应该可以理解,就暂时不放代码示例了,如果大家有要求,我再把代码放上去。

    可变参数

    这个是C++里面没有的,所以请大家多关注一下。

    可变参数是指在声明方法时不给出参数列表中从某项直至最后一项参数的名字和个数,但这些参数的类型应该相同。可变参数使用"…"表示若干个参数,最后一个参数必须是参数列表中的最后一个参数。例如:

    public void aaa(double h,int ... x);
    

    这里的x是方法aaa的参数列表中可变参数的参数代表。参数代表可以通过下标运算来表示参数列表中的具体参数,即x[0],x[1],… ,x[m-1]来表示x所代表的参数。对于一个参数代表,参数代表.length等于参数代表所代表的个数。
    举个栗子:

    class Computer{
    	public double getResult(double a,int ... x){  // !!!
    		double result = 0;
    		int sum = 0;
    		for(int ss:x){ //下面会给解释
    			sum +=ss;
    		}
    		result = a*sum;
    		System.out.println("x代表了"+x.length+"个数");
    		return result;
    	}
    }
    public class Exam{
    	public static void main(String args[]){
    		Computer comp = new Computer();
    		double result = comp.getResult(1.0/3,5,6,7);//x代表三个数
    		System.out.println("5,6,7的平均数:"+result);
    		result = comp.getResult(1.0/5,11,22,33,44,55);//x代表五个数
    		System.out.println("11,22,33,44,55的平均数为:"+result);
    	}
    }
    

    代码运行结果如下,请大家好好体会:

    x1aolin@x1aolin-E402NA:~/桌面$ vim Exam.java
    x1aolin@x1aolin-E402NA:~/桌面$ javac Exam.java 
    x1aolin@x1aolin-E402NA:~/桌面$ java Exam
    x代表了3个数
    5,6,7的平均数:6.0
    x代表了5个数
    11,22,33,44,55的平均数为:33.0
    
    展开全文
  • 基本数据类型参数传值传递的都是副本,改变以后不会影响到原来的参数。引用类型参数的传递传递的是值的副本,但是引用类型指本来就代表一个“对象的地址”。因此,副本和原参数都指向的是同一个地址,改变副本的值...

    值传递

    java中,方法中所有的参数的都是“值传递”,就是传递的是原来值的副本,不是原来的参数,因此,改变不会影响到原来的参数。

    基本数据类型参数的传值

    传递的都是副本,改变以后不会影响到原来的参数。

    引用类型参数的传递

    传递的是值的副本,但是引用类型指本来就代表一个“对象的地址”。因此,副本和原参数都指向的是同一个地址,改变副本的值,也就会改变原来参数的值了。

    例:

    public class User {

    int id;

    String name;

    //构造方法

    public User(int id, String name) {

    this.id = id;

    this.name = name;

    }

    //这个地方传递的是对象的地址

    public void test1(User u){

    u.name = "李四";

    }

    //这个地方传递的也是对象的地址

    public void test2(User u){

    //因为这个地方只是又创建一个新的对象

    //调用构造方法,会返回一个地址

    //所以这里创建完对象以后,u就是一个新的对象了,跟原来的没有关系了。

    u = new User(2, "王五");

    }

    public static void main(String[] args) {

    User user = new User(1, "张三");

    System.out.println("原来的值:" + user.name);

    user.test1(user);

    System.out.println("第一改变后的值:" + user.name);

    //为什么第二次改变了,但是输出的值没有改变

    user.test2(user);

    System.out.println("第二改变后的值:" + user.name);

    /*输出的结果:

    原来的值:张三

    第一改变后的值:李四

    第二改变后的值:李四

    */

    }

    }

    细节决定成败!

    个人愚见,如有不对,恳请扶正!

    展开全文
  • 函数的参数传值

    2020-12-03 14:35:35
    函数的参数传值 当一个函数方法的参数是基本数据类型的时候,执行函数方法并传入主函数中的变量,这只是对方法中的参数进行赋值,方法执行之后并不会改变主方法中的变量的值。 当一个函数方法的参数是数组或者为...
  • 认识Java 参数传值

    2020-08-12 20:01:40
    在方法中最重要的部分之一就是方法的参数,参数属于局部...引用类型参数传值 Java中的引用型数据包括数组,对象以及接口。当参数是引用类型时,“传值”传递的变量中存放的“引用”,而不是变量所引用的实体。 需要注
  • Java参数传值机制

    2019-05-05 19:43:00
    和C语言一样,Java中也是采用“值传递”,即传递的是原参数的复印件,并不会影响原参数 参数传值机制.png
  • 1.方法参数传值: 2.可变参数: 方法参数 1.方法参数传值: 1)基本数据类型传值不会影响主方法中的值; 2)引用数据类型的传值会影响主方法中的值【数组、类、接口】。 个人观点:基本数据类型作为方法参数...
  • 1.7 Java参数传值机制

    2020-01-10 16:20:48
    java参数传值机制总述基本数据类型参数的传值引用类型参数的传值示例测试总结 总述       java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,方法中的是...
  • 1、直接传值拼接sql语句 用${传递的参数} 2、作为参数传值 用#{传递的参数,参数的类型}
  • 关于与参数传值机制

    2020-03-12 18:37:17
    参数传值 基本数据类型参数的传值 想给参数传递的级别不可高于该参数的级别,例如,不可向int型参数传递一个float值,但可以向double型参数传递一个float值。 class Computer{ int add (int x,int y) { return x+y...
  • 讲清楚之 javascript 参数传值 参数传值是指函数调用时,给函数传递配置或运行参数的行为,包括通过call、apply 进行传值。 在实际开发中,我们总结javascript参数传值分为基本数据类型按值传递(String、Numbe、...
  • 通过form定义参数传值

    千次阅读 2017-10-18 08:48:45
    通过form定义参数传值
  • JAVA 参数传值机制

    2019-08-18 17:05:24
    JAVA 参数传值机制 public class H_CanShuChuangZhi { int id;//id String name;//账户名 String pwd;//密码 public H_CanShuChuangZhi(int id,String name) { this.id=id; this.name=name; } public ...
  • 模态框(Modal)是覆盖在父窗体上的子窗体。下面通过本文给大家介绍Bootstrap 模态框(Modal)带参数传值实例代码,需要的朋友参考下吧
  • 主要介绍了微信小程序 数据封装,参数传值等经验分享的相关资料,需要的朋友可以参考下
  • springMVC中参数传值,作用域传值

    千次阅读 2017-05-24 23:32:16
    简单的记录一下mvc中参数传值,和作用域传值1.简单数据类型传值 传递的参数与实体类的name值一致 直接使用实体类对象获得值public class User { private int id; private String name ; private String pwd; ...
  • Android-参数传值

    2019-02-17 17:56:48
    参数传值 方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数传递值,及方法被调用时,参数变量必须有具体的值 方法中参数变量的值是调用者指定的...
  • JAVA的参数传值机制

    2020-06-24 09:45:57
    JAVA中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。也就是说,我们得到的是“原参数的副本,而不是原件”。因此,复印件改变不会影响原件。... * *参数传值机制 * @author 高嵩 * */ ...
  • jmeter动态参数传值配置 转载于:https://www.cnblogs.com/NiceTime/p/8565262.html
  • 函数-参数传值

    2017-06-12 23:46:24
    函数通过参数传值来传递输入数据,参数通过传值机制来实现。 下面的程序是利用函数交换两个变量的值。 这是一个错误的程序#include #include using namespace std; void swap(int a, int b); int main() { int...
  • 测试参数传值机制 */ //参数传值是将对象的地址传给另一个值,传的是副本,指向同一个对象 public class Test071 { int id; String name; String pwd; public Test071(int id,String name){ this.id=id; this.name=...
  • 各种定向携带参数传值的解决方法。适用多种动态页面编程。
  • Java中的参数传值

    2019-07-17 17:41:08
    参数传值 方法中最重要的部分就是方法的参数,参数属于局部变量,当对象调用方法时,参数即被分配内存空间,并要求调用者向参数传递值。即方法被调用时,参数变量必须有具体的值。 1.传值机制 在Java中,方法的...
  • Java参数传值详解

    2016-12-05 18:37:13
    参数传值  方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。 传值机制  在Java中,方法...
  • 第18节 Java参数传值

    2018-08-30 16:07:04
    第18节 Java参数传值 参数传值 方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。 ...
  • Java基础——方法参数传值问题

    万次阅读 2020-01-04 17:43:59
    这篇文章我会使用简单的类比并且辅以代码示例的方式来阐述方法参数传值问题。你只需要知道8种基本数据类型以及引用类型在JVM中的存储结构即可。如果你忘记了,没关系,我们先复习一下: 8种基本数据类型分别为...
  • 参数传值方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数专递值,即方法被调用时,参数变量必须有具体的值。一、传值机制在Java中,方法的所有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,342
精华内容 5,336
关键字:

参数传值