一维数组定义与使用

数组

数组是一个变量,存储相同数据类型的一组数据

数组基本元素:

        标识符

        数组元素

        元素下标:从0开始

        元素类型

注意:

        数组长度固定不变,避免数组越界

        数组中的所有元素必须是相同的数据类型

 使用数组四步走:

第一步:声明数组: 数据类型 [] 数组名; 或者 数据类型 数组名[];

// 声明8大基本类型的数组

			byte[] nums1;
			short[] nums2;
			int [] nums3;
			long[] nums4;
			
			float[] nums5;
			double[] nums6;
			
			char[] chars;
			boolean[] bools;
			
// 声明String类型的数组
			String[] strs;

第二步:分配空间:告诉你声明的数组里可以存储多少个数据

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

            nums1=new byte[3];
			nums2 =new short[5];
			nums3 =new int [2];
			nums4 =new long[4];
			
			nums5=new float[3];
			nums6=new double[5];
			
			chars =new char[8];
			bools=new boolean[8];
			
			strs =new String[3];

第三步:给数组赋值:将数据存储到数组中

        数组名[下标]=数据;

            nums3[0]=100;
			nums3[1]=199;
            //			nums3[2]=200;
			//			System.out.println(nums3[2]);
			//java.lang.ArrayIndexOutOfBoundsException数组下标越界异常,更改下标
			System.out.println(nums3[0]);
			System.out.println(nums3[1]);

            bools[0] = true;
			bools[1] = false;
			System.out.println(bools[1]);//false
			System.out.println(bools[2]);//false
			
			strs[0] = "hello";
			strs[1] = "java";
			System.out.println(strs[0]);//hello
			System.out.println(strs[1]);//java
			System.out.println(strs[2]);//null

第四步:操作数据:使用 数组名[元素的下标]来操作数据

            System.out.println(nums3[0]);
			nums3[0] = 1000;
			System.out.println(nums3[0]);
			nums3[0]+=500;//num3[0]=nums3[0]+500;
			System.out.println(nums3[0]);

未存入数据时,数组各数据类型默认值 

            //未存入数据时,数组各数据类型默认值
			System.out.println(num1[2]);//byte:0
			System.out.println(num2[4]);//short:0
			System.out.println(num3[2]);//int:0
			System.out.println(num4[3]);//long:0
			System.out.println(num5[2]);//float:0.0
			System.out.println(num6[4]);//double:0.0
			System.out.println(ch[7]);//char:空格
			System.out.println(bool[7]);//boolean:false
			System.out.println(str[2]);//String:null

 

声明数组,分配空间合并写:

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

        //声明一个长度为5的int类型的数组
		int[] num=new int[5];
		//声明一个长度为3的boolean类型的数组
		boolean[] bools=new boolean[3];
		//声明一个长度为6的String类型的数组
		String[] strs =new String[6];

声明数组,分配空间,赋值合并写:

        数据类型[] 数组名 =new 数据类型[]{数据1,数据2,.....,数据n}; 或者 数据类型 数组名[] =new 数据类型[]{数据1,数据2,.....,数据n};

        //声明一个长度为5的int类型数组,里面的数据分别是11 25 36 98 75
		int[] num=new int[]{11,25,36,98,75};
		//声明一个长度为3的String类型的数组,里面的数据分别是"hello" "java"  "html"
		String[] strs =new String[]{"hello" ,"java" , "html"};

声明数组,分配空间,赋值合并写的简写方式,也是最常用的方式

        数据类型[] 数组名 ={数据1,数据2,.....,数据n}; 或者 数据类型 数组名[] ={数据1,数据2,.....,数据n};

        //声明一个长度为5的char类型的数组,里面的元素分别是'a'  'f'  '3'  'm' 'r'
		char[] chs={'a'  ,'f' , '3'  ,'m' ,'r'};

获取数组中元素的个数:数组名.length

遍历:按照元素在数组中的顺序输出

int[] nums={25,31,98,15,47,34,75,84,65,61,72,86,15,45,79,94,31,57};
int size=nums.length;
System.out.println("nums数组中元素的个数是:"+size);
//遍历
for (int i = 0; i < nums.length; i++) {
			System.out.print(nums[i]+" ");
		}
System.out.println();

遍历还可以使用增强for来进行循环遍历

        语法格式:

                for(数据类型 变量:数组名){
        }

执行规律:按照数组中元素的顺序依次取出元素来存入到变量中 ,这时候操作变量就相当于操作数组里的元素

//增强for
for(int a:nums){
		System.out.print(a+" ");
		}

 应用:



import java.util.Scanner;

public class ArrayDemo02 {

	public static void main(String[] args) {
		// 从键盘输入10位同学的Java成绩存储到数组中,计算这10位同学的总分和平均分		
		Scanner sc =new Scanner(System.in);		
		//准备容器(数组)用来存储10个学生的Java成绩
		double[] scores=new double[10];
		double sum=0;
		for (int i = 0; i < scores.length; i++) {
			System.out.println("请输入第"+(i+1)+"位同学的Java成绩: ");
			scores[i]=sc.nextDouble();
			sum+=scores[i];//sum=sum+score[i];			
		}		
		System.out.println("成绩存储完毕");		
		//输出所有同学的成绩
		System.out.println("所有同学的成绩为:");
		for (double d : scores) {
			System.out.print(d+" ");			
		}		
		//求平均分
		double avg=sum/10;
		System.out.println("所有学生成绩之和:"+sum+",平均分为:"+avg);

	}

}

练习:有一个数列:8,4,2,1,23,344,12;循环输出数列的值;求数列中所有数值的和;猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数 。欢迎大家与我讨论

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值