一维数组

一、数组的基本结构

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]+" ");
		}
		
	}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值