数组的定义与使用

1.数组是引用类型的数据
定义语法:int[] a;
赋值:int[] a={1,2,3,4,5};只在初始化的时候使用
int[] a=new int[5];(数组中未初始化,元素的值是元素类型的默认值)
int[] a=new int[] {1,2,3,4,5};
int[] a=null; 只定义了一个数组类型的引用变量,没有数组变量找不到数组

2.对数组的操作参考C语言,java中有一个属性length

3.数组的遍历
int[] a={1,2,3,4,5}
for(int i=0;i<a.length;i++)
{
a[i];
}
for(int element:a)
{//foreach形式(老版本java不支持)
element;
}

4.引用类型是什么?
1)引用类型是个线索,用来找到堆中真正数据
2)引用类型也是值传递,形参的改变不会影响实参

5.理解什么是引用?
1)引用是用来找到实际对象的线索
2)java内存中有3个区域
1)栈区 2)堆区3)方法区
四种变量:
形参 栈
局部变量 栈
属性 堆
静态属性 方法区

6.一些操作的理解
int[] a={1,2,3,4,5};
int[] b=a; //b也指向的数组对像
1)b={11,12,13};//b重新指向新的数组对象,不会影响a和a指向的对象
2)b[0]=100;//改变的是b指向的数组对象的内容,会影响a

7.方法调用过程中,java都是值传递,所有参数的改变都不会·影响实参

8.JDK支持的一些操作
java.util.Arrays包先导入才能使用
import java.util.Arrays;
java.lang.System包

Arrays.fill(int[] a,int v) 将指定的int值分配给指定的int数组的每个元素
Arrays.copyOf(int[] a,int newLength) }复制指定的数组,用零截取或填充 Arrays.copyOfRange(int[] a,int from,int to)将指定数组的指定范围复制到新数组中 Arrays.toString(a)返回指定数组的内容的字符串表示形式
Arrays.binarySearch(int[] a,int v)使用二叉搜索算法搜索指定的int数组的指定值
学会自己查文档!!



数组a中的内容是什么?
public static int[] method1(int[] a){
    a=new int[]{12,13,14,15,16};
    }
    public static int[] method2(int[] a){
        a[0]=10;
    }
    public static int[] method3(int[] a){
         int[] b=a;
         b=new int[]{10,11};
    }
    public static void main(String[] agrs){  
         int[] a={1,2,3,4,5};        
         method1(a);//12,13,14,15,16      
         method2(a);//10,2,3,4,5      
         method3(a);//1,2,3,4,5
     }

在这里插入图片描述

在这里插入图片描述

java中垃圾回收(Garbade Collection [GC])
谁是垃圾?没有使用价值-----没有引用指向的对象(数组)

多维数组:int[][] a={//二维数组的类型是引用类型
{1,2,3},
{4,5},
null
}
java中的多维数组存的元素类型是引用类型,所以有阶梯状

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值