Java数组

7 篇文章 0 订阅
2 篇文章 0 订阅

Java数组

  1. 数组是相同类型数据的有序集合
  2. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
  3. 通过下标访问数组元素,从0开始

Java数组声明创建

  1. 首先必须声明数组变量,才能使用数组

    dataType[] arrayRefVar;//推荐使用
    或
    dataType arrayRefVar[];//效果一样
    //Java使用new创建数组
    dataType[] arrayRefVar = new dataType[arraySize];
    
    
  2. 数组的元素是通过索引访问,从下标0开始

  3. 获取数组的长度

    arrays.length
    
  4. //简单示例
    public class Demo01 {
        public static void main(String[] args) {
            //变量的类型 变量的名字 = 变量的值;
            //数组类型
            int[] nums;//定义
            nums = new int[10];//创建一个数组
            //简便写法
    //        int[] nums2 = new int[10];
            //3.给数组赋值
            nums[0] = 1;
            nums[1] = 2;
            nums[2] = 3;
            nums[3] = 4;
            nums[4] = 5;
            nums[5] = 6;
            nums[6] = 7;
            nums[7] = 8;
            nums[8] = 9;
            nums[9] = 10;
    //        System.out.println(nums[0]);
            int sum = 0;
            for (int i = 0; i < nums.length; i++) {
                sum = sum+nums[i];
            }
            System.out.println(sum);
        }
    }
    
    

Java 内存分析

  1. 堆:一、存放new的对象和数组 二、可以被所有的线程共享,不会存放别的对象引用

    栈:一、存放基本变量类型(会包含这个基本类型的具体数量) 二、引用对象的变量(会存放在这个引用在堆里面的具体地址)

    方法区:一、可以被所有的线程共享 二、包含了所有的class和static变量

    在堆中:声明数组是在栈中声明

    int[] array = null;
    

    创建数组

    array = new int[10];
    

    创建数组是在堆中创建,在堆中开辟空间

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KG7mMPNC-1600595845725)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20200920142547825.png)]

    在数组中赋值

    nums[0] = 1;
    nums[1] = 2;
    nums[2] = 3;
    nums[3] = 4;
    nums[4] = 5;
    nums[5] = 6;
    nums[6] = 7;
    nums[7] = 8;
    nums[8] = 9;
    nums[9] = 10;
    //java.lang.ArrayIndexOutOfBoundsException:
    //出现这种报错是表明数组越界
        
    

    赋值后的堆空间

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wvFJQol-1600595845727)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20200920143339272.png)]

Java数组初始化

  1. 静态数组初始化

    int[] a= {1,2,3,4,5,6,7,8};
    
    
  2. 动态初始化

    int[] b = new int[10];
    b[0]= 1;
    
  3. 数组默认初始化

    数组为引用类型,它的元素相当与类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化

Java数组的使用

  1. for-Each循环

    public class Demo02 {
        public static void main(String[] args) {
            int[] arrays = {1,2,3,4,5};
    
            for (int array : arrays){
                System.out.println(array);
            }
        }
    }
    
  2. 数组作为方法入参、数组作返回值

    package com.DL.array;
    
    

public class Demo03 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
int[] reverse = reverse(arrays);
printArray(reverse);
}
//数组反转
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
for (int i = 0,j = result.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.print(arrays[i]+" ");
}
}
}



# Java二维数组

1. 二维数组可以看作是数组的数组

```java
package com.DL.array;

public class Demo04 {
    public static void main(String[] args) {
        //二维数组
        /*

         */
        int[][] array = {{1,2},{2,3},{3,4},{4,5}};
        for (int i = 0;i<array.length;i++){
            for (int j= 0;j<array[i].length;j++){
                System.out.print(array[i][j]);
                
            }
        }
    }
}

ray.length;i++){
for (int j= 0;j<array[i].length;j++){
System.out.print(array[i][j]);

           }
       }
   }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值