Java---数组

数组

1、数组概述

相同类型数据的一个有序集合

每个数据称为一个数组元素,每个元素可以通过下标访问他们

数组特点:

  1. 数组长度是确定的,如果越界:ArrayIndexOutoBounds(表示数组越界)
  2. 数组内不允许混合类型
  3. 数组的变量属于应用类型
  4. 数组的元素可以是任意类型
  5. 数组对象本身在堆中

下标合法区间;[0,arr.length-1],注意数组下标越界

2、数组声明创建

两种声明方法:第一个方法首选

 int[] nums;//声明一个数组
        int num2[];

定义一个什么数组,就new一个怎么样的数组

  int[] nums;//定义
      nums=new int[10];//可以存放10个int类型的元素
int[] num1={1,2,3,4,5,6,7,8,9,10};//给数组赋值

3、数组使用

数组初始化

不同数据默认的初始化

数据类型默认初始化值
byte,short,int,long0
float ,double0.0
char一个空字符,即‘\u0000’
booleanfalse
引用数据类型(string…)null,表示变量不引用任何对象

1、静态初始化

int [] a={1,2,3,4,5,6};//创建+赋值

2、动态初始化

int [] b=new int [10];
b[0]=10;
······

动态初始化包含默认值。

3、打印数组元素

int []num={1,2,3,4,5};
for (int i=0;i<num.length;i++)
{
     System.out.println(num[i]);
}

4、数组作为方法入参

    public static void printArray(int []arrays)
    {
        for(int i=0;i<arrays.length;i++)
            System.out.print(arrays);
    }

5、数组作返回值

//反转数组
    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;
    }

4、多维数组

相当于数组的数组

1、声明

int [][] array=[2][5];
//表示两行五列的二维数组

2、数组遍历

//多维数组
        int [][] array={{1,2},{3,4},{6,5},{57,8}};
        for (int i=0;i<array.length;i++)
        {
            for(int j=0;j<array[i].length;j++)
            { System.out.print(array[i][j]+" ");}
        }

5、Arrays类(操作数组的类)

数组工具类:java.util.Arrays

java本身提供给Array类使用
在这里插入图片描述

public static void main(String[] args) {
        int[] array = {5, 5, 1, 8, 844, 51, 1, 54, 1, 4, 7};
        Arrays.sort(array);//数组排序
        System.out.println(Arrays.toString(array));//打印数组
    }

常用方法

(12条消息) Arrays类常用方法详解_LMY____梦阳� � �的博客-CSDN博客_arrays

6、稀疏数组

增强for循环

 public static void main(String[] args) {
        int [][]array=new int[11][11];
        array[1][2]=1;
        array[2][3]=1;
       for(int i[]:array)//遍历数组元素外层
       {
           for (int arr:i)//遍历数组元素内层
           {
               System.out.print(arr+"\t");
           }
           System.out.println();
       }
    }

压缩数组,便于保存

当数组大部分元素是0,或者为同一个值的时候,可以用稀疏数组保存该数组

处理方式

  • 记录数组几行几列,多少个不同的值
  • 把具有不同的值的元素和行列存放在一个小规模的数组中

7、内存分析

  • 堆:存放new的对象和数组
  • 栈:存放基本变量类型
  • 方法区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值