zy.Java_数组_

课程目标

1.数组的概念

2.数组的声明与赋值

3.数组的组成

4.数组的遍历

5.数组的排序

6.数组的应用

是为什么使用数组

如何储存100名学生的成绩?

方法:使用变量储存,重复声明100个double类型变量即可.

缺点:麻烦,重复操作过多.

如何让100名学生成绩全部+1?

方法:100个变量重复相同操作,直至全部完毕

缺点:无法进行统一的操作

1.数组的概念

概念:一组连续的存储空间,存储多个相同数据类型的值.

特点:类型相同,长度固定

2.数组的声明与赋值

public class TestCreateArray{
    public static void main(String[]args){

        int[]a=new int[5];

    }
}

3.数组的组成

数组中的每个数据格被称为"数组元素";

对每个元素进行赋值或取值的操作被称为"元素的访问";

访问元素时,需要使用"下标"(从0开始,依次+1,自动生成);

访问的语法:数组名[下标];//例如: 存 :a[0]=10,取a[0];

数组的使用

public class TestCreateArray{
    public static void main(String[]args){

        int[] a=new int[5];
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=7;
        a[4]=10;
        System.out.println(a[0]);
        System.out.println(a[1]);
        System.out.println(a[2]);
        System.out.println(a[3]);
        System.out.println(a[4]);
    }
}

下标的范围

有效下标范围:0~数组长度-1

访问无效下标,会导致数组下标越界

4.数组的遍历

遍历:从头至尾,逐一对数组的每个元素进行访问.

 数组名.length 可动态获得数组长度

使用循环变量"i"充当下标,逐一访问数组中的每个元素.

数组的默认值

public class TestDefaultVaue{
    public static void main(String[]args){
        int[] a =new int[5];


        for(int i=0;i<5;i++){
            System.out.println(a[i]);
        }
    }
}

数组创建语法

1.先声明,再分配空间;

        数据类型[]数组名;

        数组名= new 数据类型[长度];

public class TestCreates{
	
	public static void main(String[]args){
		
		//先声明,再分配空间
		int[]array1;
		array1 = new int[4];
		
		System.out.println(array1[0]);
	}
}

2.声明并分配空间:

        数据类型[]数据名 = new 数据类型[长度];

int[]array2=new int[4];

3.声明并赋值(繁):

数据类型[]数组名=new 数据类型[]{value1,value2,value3......};

	int[]array3=new int[]{11,22,33};
		for (int i =0;i<array3.length;i++){
			System.out.println(array3[i]);
		}

4.声明并赋值(简):

数据类型[]数组名={value1,value2,value3......};//显示初始化,注意:不可换行

int[]array4={77,88,99,1010};
		
		for (int i=0;i<array4.length;i++){
			
			System.out.println(array4[i]);
		}

案例1:

给定一个整数数组,统计数组中所有元素的平均值.

public class TestGetAvg{
	
	public static void main(String[]args){
		
		int[] numbers=new int[]{88,99,1001,1111};
		
		int sum=0;
		
		for(int i=0;i<numbers.length;i++){
			
			sum +=numbers[i];
		}
		
		double avg=sum/numbers.length;
		System.out.println(avg);
	}
}

运算结果:

 案例2:

给定一个整数数组,读入一个整数n,如果n在数组中存在,输入下标,不存在则输入-1;

import java.util.Scanner;

public class TestSearch{
	
	public static void main(String[]args){
		
		Scanner input = new Scanner(System.in);
		
		System.out.println("请输入一个整数:");
		
		int n = input.nextInt();
		
		int[] numbers = new int[]{1,2,3,4,5,6,7};
		
		int index = -1;
		
		//循环查找的过程
		for(int i =0;i<numbers.length;i++){
			
			if (numbers[i]==n){
				//存在
				index=i;//改变index,代表n所出现的下标
				break;
			}
		}
		System.out.println(index);
	}
}

5.数组的排序

JDK排序:java.util.Arrays.sort(数组名);//JDK提供(升序)

                降序:需要手工的方式来完成元素的倒序 1 2 3 4 5 

import java.util.Arrays;

public class TestSort{
	
	public static void main(String[]args){
		
		int[] nums = new int[]{4,3,5,2,1};
		
		//借助JDK提供的数组工具,进行排序
		Arrays.sort(nums);
		//第一次遍历(升序)
		for(int i=0;i<nums.length;i++){
			
			System.out.println(nums[i]);
		}
		//降序:需要手工的方式来完成元素的倒序 1 2 3 4 5 
		//													下标:	0 1 2 3 4
		for(int i=0;i<nums.length/2;i++){//i=0
			
			int temp = nums[i] ;//int temp=1;
			
			nums[i] = nums[nums.length-1-i];
			
			nums[nums.length-1-i]=temp;
		}
		//第二次遍历(降序)
		for(int i=0;i<nums.length;i++){
			
			System.out.println(nums[i]);
		}
	}
}

总结:

数组的概念:

        一组连续的存储空间,存储多个相同数据类型的值。

数组的声明:

        数据类型[]数组名 = new 数据类型[长度];

数组的访问:

        赋值:数组名[下标]=值

        取值:数组名[下标]

数组的遍历:

        从头至尾,逐一对数组的每个元素进行访问.

数组的应用:

        统计数组元素,查找数组元素,JDK排序,元素倒置.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值