数组的概述(一维、二维数组)

本文详细介绍了数组在Java中的概念,包括数组的定义、特性、分类,以及一维数组和二维数组的使用方法,如声明、初始化、元素访问、长度获取和遍历。并通过实例演示如何计算学生成绩等级和打印杨辉三角。
摘要由CSDN通过智能技术生成

1、数组的概述

 多个相同类型数据按一定顺序排列的集合。并使用一个名字命名,通过编号的方式对这些数据进行统一的管理。

2、数组的相关概念:

》数组名

》元素

》角标、下标、索引

》数组的长度:元素的个数

3、数组的特点:

①数组是有序排列的

②数组属于引用数据类型的变量,数组的元素既可以是基本数据类型,又可以是引用数据类型。

③创建数组对象会在内存中开辟一整块连续的空间。

④数组的长度一旦确定,就不能修改。

4、数组的分类

①按维数:一维数组、二维数组······

②按数组元素的类型:个元素基本数据类型的数组、引用数据类型的数组

5、一维数组的使用

①一维数组的声明和初始化

②如何调用数组指定位置的元素

③如何获取数组的长度

④如何遍历数组

⑤数组元素的默认初始化值

⑥数组的内存解析

1、初始化

当数组申明在同一行时可以省略new int[]

总结:数组一旦初始化完成,其长度就确定了。

2、如何调用数组的指定位置的元素:通过角标(从0开始,到数组长度-1结束)的方式调用。

3、如何获取数组长度

    属性:length

4、如何遍历数组

5、数组元素的默认初始化值

        >数组元素是整型:0

        >数组元素是浮点型:0.0

        >数组元素是char型:0或'\u000',而非'0'

        >数组元素是boolean型:false

        >数组元素是引用数据类型:null

6、数组的内存解析

一维数组的内存解析

练习一:

从键盘读入学生成绩,找出最高分,

     并输出学生成绩等级。

     Ø成绩>=最高分-10 等级为’A’

     Ø成绩>=最高分-20 等级为’B’

     Ø成绩>=最高分-30 等级为’C’

     Ø其余 等级为’D’

package shuzu.exer;
import java.util.Scanner;
public class ArrayDemo1 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);  // 快捷方式:ctrl+shift+o
		System.out.println("请输入学生个数:");
		int number = scanner.nextInt();  // 快捷方式:ctrl+1
		int[] scores=new int[number];
		int maxScores=0;
		System.out.println("请输入"+number+"个学生成绩 :");
		for(int i=0;i<scores.length;i++)
		{
			scores[i]=scanner.nextInt();
			if(maxScores<scores[i])
			{
				maxScores=scores[i];
			}
		}
		char level;
		for(int i=0;i<scores.length;i++)
		{
			if(maxScores-scores[i]<=10)
				level='A';
			else if(maxScores-scores[i]<=20)
				level='B';
			else if(maxScores-scores[i]<=30)
				level='C';
			else
				level='D';
			System.out.println("student "+i+" scores is "+scores[i]+",grade is "+level);
		}
	}

}

二维数组

1、理解:对于二维数组,可看成是一维数组array1有作为另一个一维数组array2的元素而存在。从数组底层的运行机制来说,没有多维数组。

2、二维数组的使用

规定:二维数组分为外层数组元素和内层数组元素

            int[ ][ ] arr = new int[4][3]

            外层元素:arr[0],arr[1]等

            内层元素:arr[0][0],arr[1][2]等

①二维数组的声明和初始化

②如何调用数组指定位置的元素

③如何获取数组的长度

④如何遍历数组

⑤数组元素的默认初始化值

⑥数组的内存解析

1、初始化

2、如何调用数组指定位置的元素

3、如何获取数组的长度

4、如何遍历数组

5、数组元素的默认初始化值

针对于初始化方式一:比如:int[ ][ ] arr = new int [4][3];

        

        >数组元素是整型:0

        >数组元素是浮点型:0.0

        >数组元素是char型:0或'\u000',而非'0'

        >数组元素是boolean型:false

        >数组元素是引用数据类型:null    

练习2:

使用二维数组打印一个 10 行杨辉三角。

1. 第一行有 1 个元素, 第 n 行有 n 个元素

2. 每一行的第一个元素和最后一个元素都是 1

3. 从第三行开始, 对于非第一个元素和最后一个元

素的元素。

package shuzu.exer;

public class YangHuiTest {
	public static void main(String[] args) {
		int[][] yangHui=new int[10][];
		for(int i=0;i<yangHui.length;i++){
			yangHui[i]=new int[i+1];
			yangHui[i][0]=yangHui[i][i]=1;
			for(int j=1;j<yangHui[i].length-1;j++){
				yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j];
			}
		}
		for(int i=0;i<yangHui.length;i++){
			for(int j=0;j<yangHui[i].length;j++){
				System.out.print(yangHui[i][j]+" ");
			}
			System.out.println(" ");
		}
	}

}

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值