【什么是数组】

数组概述

  • 一次性声明大量的用于存储数据的变量
  • 要存储的数据通常都是同类型数据,例如:考试成绩

1.1什么是数组

数组(array)是一种用于存储多个相同类型数据的存储模型

1.2数组的定义格式

推荐格式一

  • 格式一:数据类型[ ] 变量名
    范例: int[ ]arr

  • 定义了一个 int 类型的数组,数组名是 arr

  • 格式二:数据类型 变量名[ ]
    范例: int arr [ ]

  • 定义了一个 int 类型的数组,变量名是 arr数组

2.数组初始化

2.1数组初始化概述**

java中的数组必须先初始化,然后才使用
A、所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
B、数组初始化:动态、静态


2.2 数组初始化之动态初始化

-初始化时只指定数组长度,由系统为数组分配初始值
-格式:数据类型[ ]变量名 = new 数据类型[数组长度]
-范例:int[ ] arr = new int [3]

public class ArrayDemo{
    public static void main(String[] args) {
       int[]arr = new int[3];
       /*
       左边:
       int:说明数组中的元素类型是int类型
       []:说明这是一个数组
       arr:这是数组的名称
      右边:
      new:为数组申请内存空间
      int:说明数组中的元素类型是int类型
      []:说明这是一个数组
      3: 数组长度,其实就是数组中的元素个数 
        */
    }

2.3 数组初始化之静态初始化

静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度

  • 格式:数据类型[ ]变量名 = new 数据类型 [ ]{数据1、数据2、数据3…};
    -范例: int [ ] arr = new int[ ] {1、2、3};

  • 简化格式:数据类型[ ]变量名 = {数据1、数据2、数据3…};
    -范例 : int[ ] arr = {1、2、3};

public class ArrayDemo{
public static viod main(String []args){
//定义数组
int[arr] = {1,2,3};
//输出数组名
System.out.println(arr);//这个arr输出的是申请的内存空间的地址
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);//这个0、1、2 因被1、2、3替代了,输出的是是1、2、3;

3.数组元素访问

  • 数组变量访问方式
    -格式:数组名

  • 数组内部保存的数据的访问方式
    -格式:数组名[索引]

  • 索引是数组中的数据编号方式
    -作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名

  • 特征①:索引是从0开始

  • 特征②:索引是连续的

  • 特征③:索引逐一增加,每次加1

        //输出数组名
        System.out.println(arr);
        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

4.内存分配

4.1 java中的内存分配

java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

在这里插入图片描述

4.2 栈内存

  • 栈内存:存储局部变量
    定义在方法中的变量:例如:arr
    使用完毕,立即消失。

4.3 堆内存

  • 堆内存:存储new出来的内容(实体、对象)
    数组在初始化时,会为存储空间添加默认值
    • 整数:默认值0
    • 浮点数:默认值0.0
    • 布尔值:默认值false
    • 字符:默认值是空字符
    • 引用数据类型:默认值是null

每一个new出来的东西都有一个地址值
使用完毕,会在垃圾回收器空闲时回收。

5.数组常见操作

5.1获取数组元素数量

格式:数组名.length
范例:arr.length (注:获取元素的个数)

通用格式:
int[ ]arr = {....}forint x=0;x<arr.length;x++{
  arr[x]  //对arr[x]进行操作
  }
int[ ] arr = {11,22,33};
forint x=0;x<3;x++{   // 3位元素个数
 system.out.println(arr[x]);
}

//运用arr.length的示例,无论元素个数多少个,方便输出操作;
int[ ] arr = {11,22,33};
forint x=0;x<arr.length;x++{
 system.out.println(arr[x]);
}

5.2获取最值

int [ ]arr = {12,45,98,73,60};

思路:
1、定义一个变量,用于保存最大值(最小值)

int max;

2、取数组中第一个数据作为变量的初始值

  int max = arr[0];

3、与数组中剩余的数据逐个比对;

forint x=1;x<arr.length;x++{
  if(arr[x]>max){
    max =arr[x];
  }
}

4、循环结束后打印变量的值

system.out.println("max:"+max);
  完整示例:
  public static void main(String[] args) {
        //定义数组
       int[] arr = {12,45,98,73,60};
       //取数组中的第一个数组作为变量的初始值;
        int max = arr[0];
        //与数组中剩余的数据逐个比对,每次比对将最大值保存都变量中;
        for (int x=1; x<arr.length;x++) {
            if (arr[x] > max) {
                max = arr[x];
            }
        }
        //循环结束后打印变量的值
        System.out.println("max:"+max);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值