一、数组的基本结构
1.数组:在java中,数组是用来存储一组相同类型的数据结构
2.数组的定义:
方式1:数据类型 [ ] 数组名=new 数据类型 [ 数组长度];
方式2:数据类型 数组名[ ] =new 数据类型 [ 数组长度];
用法:声明数组 —— 分配空间 —— 赋值 —— 处理数据;
代码如下:
//定义了一个数组长度为5的整型数组scores;
int scores[] =new int[]{66,55,98,60,88};
注意:数组元素下标是从0开始算起的
遍历循环:
int scores[] =new int[]{66,55,98,60,88}; //声明数组,并赋值
for(int i=0;i<scores.length;i++){ //循环遍历数组中的元素
System.out.print(scores[i]+"\t"); //输出i的值,也就是数组中元素
}
3.经典算法
最大值和最小值
public class Test2 {
public static void main(String[] args) {
int score[]=new int[]{2,67,43,45,33,99}; //定义数组
int max=score[0]; //假设最大值为第一个元素
int min=score[0]; //假设最小值为第一个元素
//求数组最大值和最小值
for(int i=1;i<score.length;i++) { //for循环遍历
if(score[i]>max) { //比较最大值,打擂台比较
max=score[i];
}
if(score[i]<min) { //比较最小值,打擂台比较
min=score[i];
}
}
System.out.println("最大值是:"+max); //输出值
System.out.println("最小值是:"+min);
}
}
查找数组中是否存在某个数据
import java.util.Scanner;
import java.util.Arrays;
/**
* 查找数组中是否存在某个数据
*/
public class Test1 {
public static void main(String[] args) {
int score[]=new int[]{2,67,43,45}; //定义数组
Scanner input=new Scanner(System.in);
int index=-1; //下标默认为-1
System.out.println("请输入一个数:");
int num=input.nextInt();
//1.找下标
for(int i=0;i<score.length;i++) { //for循环遍历查找
if(num==score[i]) { //判断数组中的元素是否输入的数字
index=score[i]; //如果等于,那么就把得到的元素下标赋值给index
break; //结束循环
}
}
//2.判断是否找到
if(index!=-1) { //如果下标不等于-1,表示找到
System.out.println("找到了");
}else { //否则就没找到
System.out.println("没找到!");
}
}
}
插入元素并且进行排序
import java.util.Arrays; //java中的类,进行数组排序(升序)
/**
* 插入元素并且排序
* 1.找下标 2.元素后移 3.放入要插入的元素位置
*/
public class Test3 {
public static void main(String[] args) {
int [] nums=new int[6]; //定义整型的数组,并且长度为6
nums[0]=44; //为元素赋值
nums[1]=52;
nums[2]=12;
nums[3]=4;
nums[4]=34;
//1.找下标
int index=-1; //默认下标为-1
int want=10; //要插入的数据
for (int i = 0; i < nums.length; i++) { //for循环遍历查找
if(want>nums[i]) { //如果插入数据大于数组中的元素
index=i; //就把i(下标)的值给index
break; //结束当前循环
}
}
if(index!=-1) { //判断index是否等于-1
//2.移 元素位置
/* 展示移动顺序
* nums[5]=nums[4];开始:
* nums[4]=nums[3];
* nums[3]=nums[2];
* nums[2]=nums[1];结束:
*/
for(int j=nums.length-1;j>index;j--) { //for循环遍历
nums[j]=nums[j-1];
}
//3.放
nums[index]=want; //把要插入的元素赋值给找到的元素下标
}else { //否则表示没找到
System.out.println("没有合适的位置!");
}
//循环遍历 输出新的数组
Arrays.sort(nums); //数组升序排序
for (int i = 0; i < nums.length; i++) { //循环打印插入后,并且升序排序 的数据
System.out.print(nums[i]+" ");
}
}
}