折纸的不归路(7)

一,数组

一,数据结构

线性(数组),链表(单向,双向…),栈,队列,树,表,图

二,Java中数组的特点

1.保存的是相同的数据类型,既可保存引用类型,也可以保存基本类型
2.数组的长度是固定的,一旦开辟空间则不可改变
3.数组是有序保存的

三,声明数组

数据类型[] 变量名称;
eg:

String[] args;
String args[];//代码不报错,但是不使用
int[] ints;
Student[] stu;

四.初始化数组

定义:自变量创建后首次赋值的过程

三种初始化方式

**第一种:**静态初始化,手动给定初始值,系统计算长度

int[] ints={7,5,3,9};

第二种:动态初始化,手动给定数组长度,系统分配初始值

int[] ints=new int[4];

第三种:动态初始化,动态初始化,手动给定初始值,系统计算长度

int[] ints= new int[]{8,5,3,2};

五,数组的使用

1.查看数组长度

ints.length

2访问元素,给元素赋值
赋值

ints[0] = 10;

3.取出数组中的一个值
数组变量[角标值]
取值

int num = ints[0];

数组的遍历:取出数组的所有元素,去操作

六,遍历方式

一,for循环遍历

for(int i=0;i<ints.length;i++){
System.out.println(ints[i]);
}

二,for-each循环增强for循环

//变量类型由数组的元素的类型决定,是把数组的每一个元素取出来放入j变量
for(int j:ints){
	System.out.println(j);
}

三, Arrays类的toString()方法

import java.util.Arrays;
System.out.println(Arrays.toString(ints));

七,数组的边界

由于数组是定长的,所以数组的下标是有范围的
根据数组的length来获得数组的长度
length只能访问,不能修改
int len = arr.length;
arr.length = 10;
如果超出了数组的边界,则会报出异常,数组下标越界

八,数组的最值

package demoarray;

public class Demo1 {
	public static void main(String[] args) {
		int[] ints = {8,7,1,6,9,2,3};
		int total = 0;
		//总值
		for(int i=0;i<ints.length;i++) {
			int n=ints[i];
			total+=n;
		}
		System.out.println("数组总值:"+total);
		System.out.println("数组平均值"+((total+0.0)/ints.length));
		System.out.println("===================");
		//最大值
		int max = ints[0];
		for(int i=1;i<ints.length;i++) {
			if(ints[i]>max) {
				max = ints[i];
			}
		}
		System.out.println("最大值为:"+max);
	}
}

二,心得

今天的东西比较难,自己也没有完全消化掉,只能是把消化的一部分先写下来,明天早上还得继续深入研究数组相关内容.

猜你喜欢

转载自blog.csdn.net/lanaiwanqiQAQ/article/details/107676720