第六章 数组

第六章 数组

数组是一个变量,由数据类型相同的一组元素组成!

变量:内存中的一块空间!

数组:内存中的一串连续的空间!

数组的结构和基本要素:

1,标识符:数组的名称,用于区分不同的数组
2,数组元素:向数组中存放的数据
3,元素下标:对数组元素进行编号
4,元素类型:数组元素的数据类型

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

public class 都没 {
	public static void main(String[] args){
		int[] nums = {122,33,34,'a',345};
		}	
	}

一维数组

数组定义:数组类型[] 数组名 = new 数组类型[数组长度];

初始化一维数组:

int years[] = {2012,2013,1023,1024,2015,2016};
int [] num = {1,2,3,4,5};	//常见写法
int array[] = {};	//没有元素地址,不能对数组赋值,不能存放数据!
		
		int[] nums = {122,33,34,'a',345};
		for (int i = 0; i < nums.length; i++) {
			System.out.println(nums[i]);
			}
		double[] nums1 = new double[10];	//定义数组是对数组进行默认的初始化
		for (int j = 0; j < nums1.length; j++) {
			System.out.println(nums1[j]);
		}
		
	char[] ch = new char[10];	//定义字符型数组
	boolean[] nums2 = new boolean[10];	//定义布尔类型数组
	String[] num3 = new String[10];	//定义字符串类型数组
	for (int j = 0; j < nums1.length; j++) {
		System.out.println(ch[j]);//输出默认值!
		System.out.println(nums2[j]);
		System.out.println(num3[j]);

给数组动态赋值及输出实例:

		Scanner input = new Scanner(System.in);
		final int N = 5;
		double[] score = new double[N];
		//动态赋值
		for (int i = 0; i < N; i++) {
			System.out.printf("请输入第%d门课的成绩:",i+1);
			score[i] = input.nextDouble();
		}
		//打印结果
		for (int i = 0; i < score.length; i++) {
			System.out.printf("输入的第%d门课的成绩为:%.2f\n",i+1,score[i]);
		}
		
		input.close();

记得用完Scanner之后关闭!

实例:斐波那契数列输出及求和及平均值

		final int N = 25;
		int sum = 0;
		int avg = 0;
		int [] nums = new int[N];
		//从第三个元素开始,(当前元素)1=(前一个元素)1+(前前一个元素)0;
		//给第一,二个元素赋初值,0,1;
		nums[0] = 0;
		nums[1] = 1;
		
		for (int i = 2; i < nums.length; i++) {
			nums[i] = nums[i-1] + nums[i-2];
			}
		for (int i = 0; i < nums.length; i++) {
			System.out.println(nums[i]);
			sum += nums[i];
		}
		System.out.println();
		System.out.println(sum);
		System.out.println();
		avg = sum /N;
		System.out.println(avg);

实例:数列动态赋值及求最大小值!

		//定义数组并且给数组动态赋值
		Scanner input = new Scanner(System.in);
		int[] nums = new int[5];
		for (int i = 0; i < nums.length; i++) {
			System.out.printf("请输入第%d个数组的值:",i+1);
			nums[i] = input.nextInt();
		}
		//通过循环求数组的最大值和最小值
		int max = nums[0];
		int min = nums[0];
		for (int i = 1; i < nums.length; i++) {
			if(nums[i] > max){
				max = nums[i];
			}
			if(nums[i] < min){
				min = nums[i];
			}
		}
		//输出最大值与最小值
		System.out.print("数组的元素为:");
		for (int i = 0; i < nums.length; i++) {
			System.out.print(nums[i]+" " + "");
		}
		System.out.println();
		System.out.println("数组的最大值为:" + max);
		System.out.println("数组的最小值为:" + min);
		
		input.close();
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

NoSuchManException

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

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

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

打赏作者

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

抵扣说明:

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

余额充值