JAVA--一维数组

一维数组

一.什么是数组

1.数组的定义

数组是一个变量,存储相同数据类型的一组数据。声明一个变量就是在内存空间划出一块合适的空间

2.数组的基本要素

标识符 -->数组名
数组元素–>数组里面的每一个数据
元素下标–>从0开始的标记数字
元素类型–>数据的类型

二.数组的使用

1.声明数组

声明数组: 告诉计算机数据类型是什么。
数据类型 数组名[ ] ; 代码:int scores[];
数据类型[ ] 数组名 ; 代码:int[] scores;
注:声明数组时不规定数组长度。

2.分配空间

告诉计算机分配几个连续的空间
①数组名=new 数组类型[]; 代码:

scores = new int[30];

②声明数组并分配空间:数据类型[ ] 数组名 = new 数据类型[大小] ;

3.数组赋值

向分配的格子里放数据
①依次赋值

scores[0] = 89;
scores[1] = 79;
scores[2] = 76;
……

②边声明边赋值

int[ ] scores = {89, 79, 76};
int[ ] scores = new int[ ]{89, 79, 76};
	----不能指定数组长度

③动态地从键盘录入信息并赋值

Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
     scores[i] = input.nextInt();
}

4.数据处理

通过遍历数组,进行计算,可以使用增强for

for(int i = 0; i < scores.length; i++){
     sum = sum + scores[i];
}

写为增强for的形式为:

for(int num:scores){
	sum=sum+scores;
}

三.数据与内存

数组中,变量是存在占内存中,具体的数据存在内存中,如下图:
JAVA--一维数组

四.求最值

1.最大值max

int max=a[0];
for(int i=0;i<a,length;i++){
	if(a[i]>max){
		max=a[i];           //从头往后挨个跟max比较,比max大,就将值赋给max,最后得出最大的值。
	}
}

2.最小值min

int min=a[0];
for(int i=0;i<a,length;i++){
	if(a[i]<max){
		min=a[i];           //从头往后挨个跟min比较,比min小,就将值赋给min,最后得出最小的值。
	}
}

五.插入数值

①先给数组排序a[i](升序)
⑤新建数组b[i+1]=a[i]+0;(扩容)
②将要插入的数num从后往前比较,如果比num大,就后移
③当num<a[i]是,找到插入位置,将num插入

int b[]=Arrays.copyOf(a,a.length+1);
for(int i=a.length-1;i>=0;i--){
	if(num<b[i]){
		b[i+1]=b[i];					//比num大得多后移
	}else {
		b[i]=num;						//b[i]已经后移置空,将num存入b[i]
	}
}
上一篇:【学习笔记】P1107 [BJWC2008]雷涛的小猫 - 题解


下一篇:Java - 基础 - 利用scanner读取文件