java学习笔记--数组

基本概念

  • 数组的类型
  • 数组的初始化
    • 静态初始化
    • 动态初始化
  • 数组的访问
  • 数组的本质
  • 内存模型
  • 默认值
  • 支持

1.数组类型,保存一组其他类型数据,就是一组相关类型变量的集合,元素类型(Element type)
 1. int[] intArray;
 2. double[] doubleArray;
 3. 和c语言兼容的方式
     int intArray[]
     double doubleArray[]; //规则允许,规范不建议使用。
2.数组的初始化(数组的长度是固定的)
 1. 静态的方式 (用到已知数组所有元素)
    int[] array={1,2,3,4,5};
    int[] array=new int[]{1,2,3,4,5}; //给方法传参数,匿名数组

 2. 动态的方式
    int[] array =new int[数组长度];
 3. 不初始化数组,指定一个null
    int[] array = null
3.数组的下标访问,用中括号[]指定具体下标
 1. 下标的类型一定是int
 2. 下标的取值范围是,数组的长度是 n 个,则设 [0,n-1]
    java.lang.ArrayIndexOutOfBoundsException   数组下标越界
4.数组的本质其实也是对象(Object类的派生类)
 1. 属性
      int[] array= …;
      array.length   数组的长度
     对象.属性   对象.方法()
5.理解背后引用的内存模型
 1. 引用类型和基本数据类型
      int a=100;
      int[] array={1,2,3,4,5};
内存模型理解
 2. java粗略的把内存分成了栈(stack) 和堆(heap)
     栈上: 1:局部变量 2. 形参(paramaters)
     堆上: 对象(数组的对象)
 3. 方法调用过程中,无论是基本数据类型还是引用数据类型
    实参(arguments) 到形参(paramaters) 都是值传递,在栈里拷贝了一份。
    引用传递,如果更改的是对象内部的值,则实参可以感受到变化。
 4. 调用栈的过程
    保存局部变量和形参作用于(scope)和生命周期(lifetime)
6. 默认值(0的各个类型表现)
在这里插入图片描述
  1. 局部变量无法享受默认值,参数没有默认值
  2. 可以享受默认值的
     属性、静态属性
7. java的数组原生支持 java.util.Arralys 支持
  1. toString   打印数组
  2. copyOf   复制一份数组 System.arraycopy
  3. copyOfRange
  4. fill   填充值
  5. sort | paralleSort
   多翻文档(OJ)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值