ToB企服应用市场:ToB评测及商务社交产业平台

标题: day04_数组 [打印本页]

作者: 张春    时间: 2022-8-29 05:11
标题: day04_数组
数组

学习目标:
  1. 1. jvm内存图入门
  2. 2. 一维数组的使用
  3. 3. 二维数组的使用
  4. 4. 数组的内存结构
  5. 5. 数组中常见算法
  6. 6. 数组中常见的异常
复制代码
一、JVM内存图入门

java程序运行在jvm上,jvm内存主要分为五块,结构如下:
每块内存负责的职责如下:
局部变量和引用地址都是在栈内存中。
二、数组的概述

2.1 为什么需要数组

为什么要有数组?在开发中,我们常常需要存取很多相同类型的数据,用变量的方式需要定义很多变量,不方便管理。所以引入数组的概念,一次存取多个相同类型的数据。数组有两个一定,一个类型一定,一个是大小一定。
2.2 数组的基本概念

数组中存在着一些重要的概念,如下所示:
三、一维数组的使用

3.1 数组的定义

一维数组的定义语法如下:
示例:
  1. /**
  2. * 数组定义
  3. */
  4. public class ArrayDemo1 {
  5. public static void main(String[] args) {
  6. //定义数组
  7. int[] arr1;
  8. String [] arr2;
  9. }
  10. }
复制代码
3.2 数组的初始化

数组动态初始化语法:
示例:
  1. /**
  2. * 数组定义,以及动态初始化
  3. */
  4. public class ArrayDemo1 {
  5. public static void main(String[] args) {
  6. //定义数组
  7. int[] arr1;
  8. //数组动态初始化
  9. arr1 = new int[4];
  10. arr1[0] = 10;
  11. arr1[1] = 20;
  12. arr1[2] = 30;
  13. arr1[3] = 40;
  14. //取值
  15. System.out.println(arr1[0]);
  16. System.out.println(arr1[1]);
  17. System.out.println(arr1[2]);
  18. System.out.println(arr1[3]);
  19. }
  20. }
复制代码
数组静态初始化语法:
示例:
  1. /*
  2. 数组的定义与静态初始化
  3. */
  4. public class ArrayDemo2 {
  5. public static void main(String[] args) {
  6. //数组的声明
  7. // String[] arr = new String[]{"乔峰","段誉","杨过"};
  8. //简写
  9. String[] arr = {"乔峰","段誉","杨过"};
  10. //取值
  11. System.out.println(arr[0]);
  12. System.out.println(arr[1]);
  13. System.out.println(arr[2]);
  14. }
  15. }
复制代码
3.3 数组元素的引用

引用数组元素内容需要注意以下几点:
示例1:数组元素的引用
  1. /**
  2. * 数组元素的引用
  3. */
  4. public class ArrayDemo3 {
  5. public static void main(String[] args) {
  6. //数组的定义
  7. int[] arr = {1,3,5,7,9};
  8. //查看数组的长度
  9. System.out.println(arr.length);
  10. // 查看数组内容
  11. System.out.println(arr[0]);
  12. System.out.println(arr[1]);
  13. System.out.println(arr[2]);
  14. System.out.println(arr[3]);
  15. System.out.println(arr[4]);
  16. // 数组下标超过最大下标会越界,报异常ArrayIndexOutOfBoundsException
  17. System.out.println(arr[5]);
  18. }
  19. }
复制代码
示例2:数组的循环赋值与取值
  1. /**
  2. * 数组的循环赋值与取值
  3. */
  4. public class ArrayDemo4 {
  5. public static void main(String[] args) {
  6. //定义数组
  7. int[] arr = new int[5];
  8. //循环赋值
  9. for (int i = 0; i < arr.length; i++) {
  10. arr[i] = i*5;
  11. }
  12. //循环取值
  13. for (int i = 0; i < arr.length ; i++) {
  14. System.out.println(arr[i]);
  15. }
  16. }
  17. }
复制代码
3.4 数组的注意事项

数组在使用过程中需要注意以下几点:
3.5 forEach的应用

forEach可以遍历数组或集合容器中的数据,语法如下:
示例:
  1. /**
  2. * forEach遍历
  3. */
  4. public class ArrayDemo5 {
  5. public static void main(String[] args) {
  6. //数组定义
  7. int[] arr = {1,3,5,7,9};
  8. //数组遍历
  9. for(int num : arr){
  10. System.out.println(num);
  11. }
  12. }
  13. }
复制代码
3.6 数组元素默认值

当数组元素没有赋值时,是存在默认值的,默认值如下:
3.7 一维数组内存图

3.8 小结

四、一维数组练习题

4.1 数组赋值练习

将班级所有同学名字录入到一个一维数组中 。
参考答案:
[code]/*** 将班级所有同学名字录入到一个一维数组中*/public class ArrayTest1 {public static void main(String[] args) {//1.创建大小为5的String类型数组String[] names = new String[5];//2.创建扫描仪对象Scanner input = new Scanner(System.in);for(int i=0;i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4