第二章_Java中数组的基础学习
数组基础学习
1.概念
数组是一个容器,用来存储一批特定类型的数据。
数组中的每一个数据也称为数组中的元素,元素 = 数据
2.数组的定义
假如需要处理一个班级中所有学生的成绩,此时使用变量定义太过于繁琐,我们就可以定义一个数组来存放所有学生的成绩。这时候使用数组更加方便,适合。
a.静态初始化数组
格式一
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,…}
格式一详解:
1.数据类型:就是java的数据类型,基本数据类型,引用数据类型
2.[]数组的固定格式,代表一个数组类型
3.数组的名称:首字母建议小写,“小驼峰模式”
要有意义,不能是关键字,必须是合法字符。
4.= :赋值,把右边的数组对象交给数组名称代指
5.new :新建,创建数组容器
6.{元素1,元素2……},罗列数组中存在的元素
格式二
数组类型 [] 数组名称 = {元素1,元素2……};
public class Test {
public static void main(String[] args) {
//格式一
int[] arr1 = new int[]{1,2,3,4,5};
//格式二
int[] arr2 = {1,2,3,4,5};
}
}
小结:
静态初始化实在数组定义出来以后,元素就也应该确定出来
什么类型的数组只能存放什么类型的数据,否则报错
b.动态初始化数组
格式三
数组类型[] 数组名称= new 数据类型[数组的长度];
public class Test {
public static void main(String[] args) {
//格式一
int[] arr1 = new int[]{1,2,3,4,5};
//格式二
int[] arr2 = {1,2,3,4,5};
//格式三
int[] arr3 = new int[5];
//不常用格式
int arr4[] = {};
}
}
注意:
1.在定义的时候并不会给数组申明元素值
2.但是要在定义的时候申明数组的元素个数,我们称为数组的长度
3.数组的访问
3.1索引
数组存在元素编号,编号从0开始,这个编号称为索引。
由于数组的索引是从0开始的,所以数组的最大索引是 :数组的长度-1
根据索引访问数组中的元素
取值:数组名称[元素索引]
赋值:数组名称[元素索引] = 元素值;
public class Test {
public static void main(String[] args) {
//定义一个数组
int[] arr= {1,2,3,4,5};
//取值
System.out.println("0号索引的元素是:"+arr[0]);
//赋值
arr[3] = 10;
System.out.println("3号索引的元素重新赋值后是:"+arr[3]);
}
}
执行效果:
3.2访问数组的长度
public class Test {
public static void main(String[] args) {
//定义一个数组
int[] arr= {1,2,3,4,5};
//取值
System.out.println("0号索引的元素是:"+arr[0]);
//赋值
arr[3] = 10;
System.out.println("3号索引的元素重新赋值后是:"+arr[3]);
//访问数组的长度
int length = arr.length;
System.out.println("数组的长度是:"+length);
}
}
执行效果:
注意:
数组中的最大索引是 数组.length -1。
因为数组的索引是从0开始的。
4.数组的遍历
什么是遍历?
就是一个一个的访问所有的数据
为什么要遍历?
为了从一批数据中找出一些信息。
如:求最大值,平均值
public class Test {
public static void main(String[] args) {
//定义一个数组
int[] arr= {1,2,3,4,5};
//遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.println("索引:"+i+
",值:"+arr[i]);
}
}
}
执行效果:
5.数组中最大值的获取(基本编程思想)
public class Test {
public static void main(String[] args) {
//定义一个数组
int[] arr= {1,2,3,4,5};
//遍历数组求最大值
int max = 0 ;
for (int i = 0; i < arr.length; i++) {
//如果定义的参照变量小于当前值,就把当前值赋值给最大值
if (max<arr[i]){
max = arr[i];
}
}
System.out.println("最大值:"+max);
}
}
执行效果:
6.数组的内存位置
我们把 JVM虚拟机 的内存简单的看做两部分,分别是栈和堆。
栈:栈中存放的都是方法,例如我们程序的入口main方法就是存放在这里,栈中的
的数据存放和子弹上膛一样,先进后出。
栈图解:
堆: 堆内存的简单理解就是new所创建出来的东西,我们的数组也是new出来的,所以都是存储在堆内存中。
上一篇: 第二章 Zookeeper基础学习笔记
下一篇: php 随机字符串