2022/4/20 JavaDay12

数组

  • 数组是相同数据类型的有序集合

  • 数组描述的是相同类型的若干个数据,按照一定的先后次序排列而成

  • 每一个数据称做一个数组元素,每个数组元素可以通过一个下标访问

 package com.sundada.array;
 ​
 public class ArrayDemo01 {
     //变量的类型 变量的名字 = 变量的值
     //数组类型
 ​
     public static void main(String[] args) {
         int[]nums;//int[]表示int类型数组,java使用这种
         //int nums2[];
         nums=new int[10];//2.创建一个数组
         //3.给数组元素
         nums[0]=1;
         nums[1]=1;
         nums[2]=1;
         nums[3]=1;
         nums[4]=1;
         nums[5]=1;
         nums[6]=1;
         nums[7]=1;
         //计算所有元素的和
         int sum=0;
         for (int i = 0; i < nums.length; i++) {
             sum=sum+nums[i];
         }
         System.out.println(sum);
 ​
     }
 }

内存分析

  1. 方法区

  1. 声明数组并不存在,创建了才存在

int[]array=null;//在栈里面储存

  1. 创建数组

array=new int [10];//创建了堆

动态初始化

 package com.sundada.array;
 ​
 public class ArrayDemo02 {
     public static void main(String[] args) {
         //静态初始化
         int[]a={1,2,3,4,5};
         System.out.println(a[4]);
         //动态初始化
         int[]b=new int[10];
         b[0]=10;
         System.out.println(b[0]);
         System.out.println(b[1]);//没有赋值则默认为0
     }
 }

数组的四个基本特点

  1. 长度是确定的,一旦创建大小不可改变

  2. 类型相同

  3. 元素可以是任何类型

  4. 数组变量属于引用类型,数组本身就是对象 保存在堆中

数组边界

 int[]a={1,2,3,4,5};
 System.out.println(a[4]);
 for (int i = 0; i < a.length; i++) {//不可以相等,[0,length-1]
     System.out.println(a[i]);
 }

数组的使用

  1. for-each循环

  2. 普通for循环

  3. 数组方法入参

  4. 数组返回值

 package com.sundada.array;
 ​
 public class ArrayDemo04 {
     public static void main(String[] args) {
         int[]arrays={1,2,3,4,5};
         //增强性for循环
 //        for (int array : arrays) {//array是里面的元素,后面的arrays是数组
 //            System.out.println(array);
 //        }
         int []reverse= reverse(arrays);
         printArray(reverse);
     }
     public static int[]reverse(int[]arrays){
         int[]result=new int[arrays.length];
         //反转的操作
         for (int i = 0,j=arrays.length-1; i < arrays.length; i++,j--) {
             result[j]=arrays[i];
         }
         return result;
     }
     //打印数组元素
     public static void printArray(int[]arrays){
         for (int i = 0; i < arrays.length; i++) {
             System.out.println(arrays[i]);
         }
     }
 ​
 }
posted @ 2022-04-20 11:22  Unclesundada  阅读(28)  评论(0)    收藏  举报