今日学习目标
数组是什么?
把具有相同类型的多个常量值有序存储的一种数据形式
1.必须掌握数据定义的语法
定义格式:
数据类型[] 数组名; 如:int[] args;
1)可以把int[]看成是一种数据类型,int类型的数组
2)int[]数组可以看成是,数组中的元素类型是int类型的
2.必须掌握数组的静态初始化
1)数组在定义后,必须先初始化才能使用.所谓初始化是在堆内存中开辟空间,并为每一个元素
赋值
2)数组的长度是固定的,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化
语法:数组元素类型[] 数组名 = new 数组元素类型[]{元素1, 元素2...};
例子: int[] arr = new int[]{1, 3, 4};
简单写法: int[] arr = {1, 3, 5};
获取数组长度: arr.length;
3.必须掌握数组的动态初始化
语法: 数组元素类型[] 数组名 = new 数组元素类型[length];//length表示数组的长度
例子: int[] arr = new int[5];
4.必须掌握数组的基本操作 获取长度 获取元素值 设置元素值
获取数组的长度:int size = 数组名.length;
获取数组的元素值: 元素类型 变量名 = 数组名[index];//index表示索引
数组的索引从0开始,最大索引值是数组长度-1,
设置元素值: 数组名[index] = 值;
5.必须掌握数组的遍历操作
int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i < arr.length;i++){
System.out.println(arr[i]);
}
找出数组中的最大值
public class ArrayTest{
public static void main(String[] args){
//定义一数组
int[] arr = {1, 3, 5, 7};
int max = arr[0];
//想要找出数组中元素最大的值,就得遍历数组
for(int i = 1;i < arr.length;i++){
//判断取出的元素和自己定义的数谁大
if(arr[i] > max){//如果取出的元素大,就交换
max = arr[i];
}
}
System.out.println("数组中的最大值为" + max);
}
}
数组反转
public class ArrayTest1{
public static void main(String[] args){
//定义一个数组
int[] arr = {1, 3, 5, 7, 8, 7, 10};
//反转数组,把第一个元素和最后一个元素交换,依次这样
int temp;
for(int i = 0; i < arr.length/2; i++){
temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
}
}
找指定元素的所在位置,找到返回索引,
public class ArrayTest3{
public static void main(String[] args){
//定义一个数组
int[] arr = {33, 45, 97, 46, 78, 45};
//找出45第一次出现的索引
int key = 45;
for(int i = 0; i < arr.length; i++){
if(arr[i] == kye){
System.out.println("找到了" + i);
break;
}
if(i == arr.length - 1){
System.out.println("没找到");
}
}
}
}
原文:https://www.cnblogs.com/yuanwei-1997/p/13262349.html