◉◡◉ 您好,欢迎到访伊成个人站!

Java基础面试题之值传递

本文于656天之前发表,文中内容可能已经过时。

“Java基础面试题之值传递”

两个关于值传递面试问题

1.java中是值传递还是引用传递?
2.值传递和引用传递的区别是什么?

这两个问题,在一般的面试过程中很容易问到,无论你是去应聘初级,中级还是高级程序员。在现实生活中,往往工作时间久的程序员很容易忽略这些基础面试题。一个不小心就在阴沟里面翻了船…

以上两个问题,大家可以自行去问度娘或谷歌了。除了以上两个问题,部分公司会以书面的笔试题出对应的试题,请看下面:

几个关于值传递笔试问题

  1. 第一题
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Test1 {
    public static void change(int a){
    a=50;
    }
    public static void main(String[] args) {
    int a=10;
    change(a);
    System.out.println(a);
    }
    }

问题: 输出的 a 为多少?

  1. 第二题
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Test2 {
    public static void change(int []a){
    a[0]=50;
    }
    public static void main(String[] args) {
    int []a={10,20};
    change(a);
    System.out.println(a[0]);
    }
    }

问题: 这里输出的 a 为多少?

3.第三题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Emp {
public int age;
}
public class Test3 {
public static void change(Emp emp)
{
emp.age = 50;
emp = new Emp();
emp.age=100;
}

public static void main(String[] args) {
Emp emp = new Emp();
emp.age = 100;
change(emp);
System.out.println(emp.age);
}
}

问题: 这里输出的 emp.age 为多少?

4.第四题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Emp {
public int age;
}
public class Test4 {
public static void change(Emp emp)
{
emp.age=100;
}

public static void main(String[] args) {
Emp emp = new Emp();
emp.age = 50;
change(emp);
System.out.println(emp.age);
}
}

问题: 注意看代码啊,这里输出的 emp.age 又又是多少?

5.第五题

1
2
3
4
5
6
7
8
9
10
11
public class Test5 {
public static void change(String s){
s="zhangsan";
}

public static void main(String[] args) {
String s=new String("lisi");
change(s);
System.out.println(s);
}
}

问题: 最后的输出的字符串是啥?

小声说一句

Java中只存在值传递,只存在值传递!!!

如果你有兴趣,请把你做的结果留言出来哦!

支付宝打赏 微信打赏