【详识JAVA语言】数组的应用场景

保存数据

public static void main(String[] args) {

int[] array = {1, 2, 3};

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

System.out.println(array[i] + " ");

}

}

作为函数的参数

1. 参数传基本数据类型

public static void main(String[] args) {

int num = 0; func(num);

System.out.println("num = " + num);

}

public static void func(int x) {

x = 10;

System.out.println("x = " + x);

}

// 执行结果

x = 10

num = 0

发现在func方法中修改形参 x 的值, 不影响实参的 num 值.

2. 参数传数组类型(引用数据类型)

public static void main(String[] args) {

int[] arr = {1, 2, 3};

func(arr);

System.out.println("arr[0] = " + arr[0]);

}

public static void func(int[] a) {

a[0] = 10;

System.out.println("a[0] = " + a[0]);

}

// 执行结果

a[0] = 10

arr[0] = 10

发现在func方法内部修改数组的内容, 方法外部的数组内容也发生改变.

因为数组是引用类型,按照引用类型来进行传递,是可以修改其中存放的内容的。

总结: 所谓的 "引用" 本质上只是存了一个地址. Java 将数组设定成引用类型, 这样的话后续进行数组参数传参, 其实 只是将数组的地址传入到函数形参中. 这样可以避免对整个数组的拷贝(数组可能比较长, 那么拷贝开销就会很大).

作为函数的返回值

比如:获取斐波那契数列的前N项

public class TestArray { 

public static int[] fib(int n){

if(n <= 0){

return null;

}

int[] array = new int[n];

array[0] = array[1] = 1;

for(int i = 2; i < n; ++i){

array[i] = array[i-1] + array[i-2];

}

return array;

}

public static void main(String[] args) {

int[] array = fib(10);

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

System.out.println(array[i]);

}

}

}

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CaojunjiaOnly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值