慢慢学习,然后惊呆所有人(数组)

在学习Java的过程中,小编认为数组是非常有用的,所以小编下面就来看看数组的学习,废话不多说,上干货!

什么叫数组?

一系列数据总体的组合

如何定义数组?

数据类型  [ ]  数组名称  =  new  数据类型  [数组的大小]

//数组声明方式
int arr[] = new int[4];
int []arr1 = new int[4];
//初始化数组
int [] arr2 = new int[]{1,2,3,4,5,6,7,8};
//方便写法
int [] arr3 = {1,2,3,5,2,4,3,4,2};
public class Text {
	public static void main(String[] args){
		//定义一个数组
		//开辟一个大小为10的数组,类型是整数
		int [] name = new int[4];
		//给数组赋值,从0开始,最大为是数组-1,当超出会显示数组下标越界
		name[0]=30;
		name[2]=150;
		name[3]=33;
		//name[4]=0;当超出会显示数组下标越界
		//访问数组中的值,从0开始
		System.out.println(name[0]);
		System.out.println(name[1]); 
		//如果类型为int没有给值为0,布尔类型为None
		System.out.println(name[2]);
		System.out.println(name[3]);
		//查看数组的大小
		System.out.println(name.length);
	}
}

改进循环遍历

import java.util.Scanner;
public class Text {
	public static void main(String[] args){
		//定义一个数组
        //方式2
        //类型 名称[]  = new 类型[大小];
		//开辟一个大小为10的数组,类型是整数
		int [] name = new int[4];
		//以遍历发式,添加数组内容
		Scanner sc = new Scanner(System.in);
		for (int i = 0;i < name.length;i++){
			System.out.println( "请输入"+(i+1)+"成绩:");
			//数组赋值
			name[i]=sc.nextInt();
		}
		for(int i=0;i<name.length;i++){
			System.out.println(name[i]);
		}
		//查看数组的大小
		
	}
}

数组特点

1,数组是内存中一串连续的空间

2,数组只能存储一种数据类型

3,在Java中必须定义大小,不能随便修改

下标越界的错误

在我们小白中非常常见(所以要多多注意)

小练习

给定一个大小为10的数组,控制台上输入值,求平均值,总值。

import java.util.Scanner;
public class Text {
	public static void main(String[] args){
		//定义一个数组
		//开辟一个大小为10的数组,类型是dounle
		double [] arr = new double[10];
		//以遍历发式,添加数组内容
		Scanner sc = new Scanner(System.in);
		for (int i = 0;i < arr.length;i++){
			System.out.println( "请输入第"+(i+1)+"数组的值:");
			//数组赋值
			arr[i]=sc.nextInt();
		}
		double x = sum(arr);
		double y = avg(arr);
		System.out.println("数组的总和为:"+x);
		System.out.println("数组的平均值为:"+y);
	}
	public static double sum(double []arr){
		double sum = 0;
		for(int i = 0;i<arr.length;i++){	
			sum +=arr[i]; 
		}
		return sum;
	}
	public static double avg(double []arr){
		double sum = 0;
		for(int i = 0;i<arr.length;i++){
			sum +=arr[i]; 
		}
		double avg = sum/arr.length;
		return avg;
	}
}

出现问题(只能输入整数,不能是小数)

改进方法(将arr[i]=sc.nextInt();改为arr[i]=sc.nextDouble();)

import java.util.Scanner;
public class Text {
	public static void main(String[] args){
		//定义一个数组
		//开辟一个大小为10的数组,类型是dounle
		double [] arr = new double[10];
		//以遍历发式,添加数组内容
		Scanner sc = new Scanner(System.in);
		for (int i = 0;i < arr.length;i++){
			System.out.println( "请输入第"+(i+1)+"数组的值:");
			//数组赋值
			arr[i]=sc.nextDouble();
		}
		double x = sum(arr);
		double y = avg(arr);
		System.out.println("数组的总和为:"+x);
		System.out.println("数组的平均值为:"+y);
	}
	public static double sum(double []arr){
		double sum = 0;
		for(int i = 0;i<arr.length;i++){	
			sum +=arr[i]; 
		}
		return sum;
	}
	public static double avg(double []arr){
		double sum = 0;
		for(int i = 0;i<arr.length;i++){
			sum +=arr[i]; 
		}
		double avg = sum/arr.length;
		return avg;
	}
}

现象:

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶光不负

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值