java数组小结

什么是数组
数组本质上就是让我们能 “批量” 创建相同类型的变量.
创建数组的基本语法


// 动态初始化
 数据类型[] 数组名称 = new 数据类型 [] { 初始化数据 };
// 静态初始化
 数据类型[] 数组名称 = { 初始化数据 };
 

代码示例

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

注意事项:
静态初始化的时候, 数组元素个数和初始化数据的格式是一致的.
数组的使用
代码示例: 获取长度 & 访问元素

int[] arr = {1, 2, 3};
// 获取数组长度
 System.out.println("length: " + arr.length); // 执行结果: 3
// 访问数组中的元素
 System.out.println(arr[1]);         // 执行结果: 2 
 System.out.println(arr[0]);         // 执行结果: 1 arr[2] = 100; 
 System.out.println(arr[2]);         // 执行结果: 100

注意事项

  1. 使用 arr.length 能够获取到数组的长度,这个操作为成员访问操作符,在这里 是一个属性而不是方法.
  2. 使用 [ ] 按下标取数组元素. 需要注意, 下标从 0 开始计数
  3. 使用 [ ] 操作既能读取数据, 也能修改数据.
  4. 下标访问操作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常
    代码示例: 下标越界
int[] arr = {1, 2, 3};
 System.out.println(arr[100]);
// 执行结果
 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
  100        at Test.main(Test.java:4)

代码示例: 遍历数组
所谓 “遍历” 是指将数组中的所有元素都访问一遍, 不重不漏. 通常需要搭配循环语句.

int[] arr = {1, 2, 3};
 for (int i = 0; i < arr.length; i++) {
     System.out.println(arr[i]);
      }
// 执行结果
   1
   2
   3

代码示例: 使用 for-each 遍历数组

int[] arr = {1, 2, 3};
 for (int x : arr) {
     System.out.println(x); 
     }
// 执行结果
 1 
 2 
 3

数组作为方法的参数
代码示例: 打印数组内容

public static void main(String[] args) {
    int[] arr = {1, 2, 3};
        printArray(arr);
         }
public static void printArray(int[] a) {
    for (int x : a) {
            System.out.println(x);    
            }
   }
// 执行结果
   1
   2
   3 

java中数组的内存分析
JVM
1、JAVA虚拟机栈:局部变量
2、本地方法栈:native方法的局部变量————底层由C/C++实现;速度快;
3、程序计数器:下一条执行指令的地址
4、堆:对象;new关键字修饰
5、方法区:静态变量、类的信息
6、常量池:存放字符串变量

数组的拷贝:
1、for循环
2、System.arraycopy(原数组名,0,目的数组名,0,原数组长度)
3、目的数组名=Arrays.copyOf(原数组名,原数组长度);
注意:2方法最快,3方法调用2方法
4、目的数组名=原数组名.clone()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值