数组

数组

同一类型数据的集合(容器)
数组可以储存多个数据,而且可以对数据进行编号,从0开始。操作元素完全可以通过编号(索引、下标)完成

数组使用的核心思想:
容器特点:

  1. 固定长度
  2. 元素都有索引

什么时候使用容器?
数据多了,必需先储存,再进行操作。

对于数组容器什么时候用?

  1. 数据多
  2. 个数确定
  3. 有对应关系

分析使用数组存储需求:

  1. 需求中的数据是否有有序的编号。
    例:根据用户输入的数据,显示对应的星期。
    思路:
    1、星期数是固定的
    2、星期有对应的序号
    所以可以使用数组这种结构进行存储。
//定义一个功能,根据给定的数据获取对应的星期。

public static String getweek(int num){
	//定义一个数组存储固定的星期数。
	if(num>7 || num<=0){
		return num+"没有对应星期";//throw new RuntimeExcpetion(num+"没有对应星期");
	}
	String[] week =  new String[]{"星期一","星期二","星期三","星期四","星期五","星期六","星期七"} ;//有序的编号可以作为索引
	return week[num+1];
}
  1. 需求中的数据是否需要有序的编号。
    例:34,89,12,78,45对它们进行操作。需要编号,使其操作更容易。
//元素类型[] 数组名 = new 元素类型[元素长度或数组长度];
//例:
int[] arr = new int[5];

//元素类型[] 数组名 = new 元素类型[]{元素1,元素2......}
//例:
int[] arr = new int[]{1,2,3};

new int[3];//通过new关键词创建了一个长度3,元素类型是int的数组实//体。

System.out.print(arr[0]);//arr[0]代表arr数组中下标为0的数

java对内存空间的划分:
栈,堆,方法区,本地方法区,寄存器
栈内存

  • 存储的都是局部变量(方法中定义的变量)

  • 一旦变量的生命周期结束,该变量就被释放。

堆内存

  • 存储的都是实体(对象)

  • 每一个实体都有一个首地址值。

  • 当实体不再被使用时,会被垃圾回收机制处理。

在这里插入图片描述arr在栈中指向堆中地址对应的数组,是引用类型。

//数组定义二
//int [] arr = new int[]{1,2,3};
int [] arr = {1,2,3};
//如何把数组全部显示出来
for(int x =0;x<arr.length;x++){
	System.out.println(arr[x]);
}


练习:

class 数组 
{
	public static void main(String[] args) 
	{
		//对多个数求和
		/*
			明确1:和,,返回值int
			明确2:参数为多个数,用数组比较合适。
		*/
		int[] arr = new int[]{1,2,3};		//创建一个数组
		int sum = add(arr);					//调用add方法,赋值给sum
		System.out.println("数组和为"+sum);	//打印
	}

	public static int add(int[] arr){		//int[] arr表示int型的数组,名字是arr
		int temp = 0;						//定义变量记录和
		for(int x=0;x<arr.length;x++){
			temp = temp + arr[x];			//每次循环都把值与上一个值相加赋给temp
		}
		return temp;						//返回temp的值
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值