JavaSE面试题03:方法的参数传递机制

简介: JavaSE面试题03:方法的参数传递机制

@[toc]

方法的参数传递机制

题目
import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int i=1;
        String str ="hello";
        Integer num=2;
        int [] arr={1,2,3,4,5};
        MyData my =new MyData();
        chang(i,str,num,arr,my);
        System.out.println("i="+i);
        System.out.println("str="+str);
        System.out.println("num="+num);
        System.out.println("arr="+ Arrays.toString(arr));
        System.out.println("my.a="+my.a);
    }
    public static void chang(int j,String s,Integer n,int[] a,MyData m){
        j+=1;
        s+="world";
        n+=1;
        a[0] +=1;
        m.a+=1;
    }
}
class MyData{
    int a=10;
}
运行结果
i=1
str=hello
num=2
arr=[2, 2, 3, 4, 5]
my.a=11

讲解

基本

形参列表:

int j,String s,Integer n,int[] a,MyData m

实参列表:

chang(i,str,num,arr,my);
  • 实参给形参传递值

形参是基本数据类型:传递的是数据值

形参是引用数据类型:传递的是地址值

综合解释
  1. i是基本数据类型,传递的数据值,所以i不变还是1
  2. str是String类,具有不可变性,详细看下文,所以仍然是hello
  3. num是包装类具有不可变性,同上
  4. arr是引用数据类型 ,传递的是地址值,所以改变了
  5. MyData是类,也属于引用数据类型,传递的是地址值,所以也改变了
考点
  • 方法的值传递机制
  • String、包装类等对象的不可变性
对应知识点解释
  1. Java中类的成员之二:方法(method)
  2. Java中形参的传递机制:值传递机制
  3. Java中String类是什么?什么是其不可变性?String互相拼接会怎样?
  4. Java中什么是包装类?包装类与基本数据类型如何转换?
  5. Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等
目录
相关文章
|
3月前
|
前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(二)
|
3月前
|
存储 运维 前端开发
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
【面试题】吃透Promise?先实现一个再说(包含所有方法)(一)
|
5月前
|
Java Linux 程序员
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
|
6月前
|
Java
每日一道面试题之String常用的方法有哪些?
每日一道面试题之String常用的方法有哪些?
|
2月前
|
Java 编译器
探究Java【方法的定义及使用】----【简单面试题】
探究Java【方法的定义及使用】----【简单面试题】
30 2
|
6月前
每日一道面试题之Files的常用方法都有哪些?
每日一道面试题之Files的常用方法都有哪些?
|
7月前
|
安全
多线程访问同步方法的7种情况(面试常考)
多线程访问同步方法的7种情况(面试常考)
35 0
多线程访问同步方法的7种情况(面试常考)
|
5月前
|
缓存 NoSQL Java
面试~线程池-三大方法、七个参数、四种拒绝策略、实际应用
面试~线程池-三大方法、七个参数、四种拒绝策略、实际应用
46 0
|
7月前
|
存储 Java
【面试题精讲】你了解String.intern方法吗
【面试题精讲】你了解String.intern方法吗
|
8月前
|
Java
第一季:4方法的参数传递机制【Java面试题】
第一季:4方法的参数传递机制【Java面试题】
41 0