一,数组
一,数据结构
线性(数组),链表(单向,双向…),栈,队列,树,表,图
二,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);
}
}
二,心得
今天的东西比较难,自己也没有完全消化掉,只能是把消化的一部分先写下来,明天早上还得继续深入研究数组相关内容.