学习笔记——Java基础(三)之数组

文章详细介绍了Java中的数组,包括数组的概念、特点,一维数组的声明、初始化和长度,二维数组的结构和访问方式,以及Arrays工具类的使用如排序和填充。此外,还提供了两个实践例子,分别是计算数组的最值、和与平均值,以及利用二维数组实现杨辉三角的打印。
摘要由CSDN通过智能技术生成

目录

1.数组(Array)

2.一维数组

3.二维数组

4.Arrays工具类

5.数组俩个练习

        Ⅰ.求最值、求和、求平均等。

        Ⅱ.杨辉三角


1.数组(Array)

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

        特点:

                1.数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

                2.创建数组对象会在内存中开辟一整块连续的空间。占据的空间的大小,取决于数组的长度和数组中元素的类型。

                3.数组中的元素在内存中是依次紧密排列的,有序的。

                4.数组,一旦初始化完成,其长度就是确定的。数组的长度一旦确定,就不能修改

                5.我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。

                6.数组名中引用的是这块连续空间的首地址。

2.一维数组

        格式:

                1.静态:数据类型A[ ]  变量名  =  new  数据类型A[ ]{数据1,数据2,数据3,...};

                2.动态:数据类型A[ ]  变量名  =  new  数据类型A[ 数组长度 ];

                * 1可简写为:数据类型A[ ]  变量名  =  {数据1,数据2,数据3,...};

        注意:数组有定长特性,长度一旦指定,不可更改。

        数组的长度(.length):

                每个数组都有一个属性length指明它的长度,例如:arr.length 指明数组arr的长度(即元素个数)

        数组元素的默认值:     

数组元素类型元素默认初始值
byte0
short0
int0
long0L
float0.0F
double0.0
char0或写为:'\u0000'
booleanfalse
应用类型null

3.二维数组

        格式:

                1.静态:数据类型A[ ][ ]  变量名 = new 数据类型A[ ][ ]{ { 数据1 },{ 数据2 }} ;

                2.动态:数据类型A[ ][ ]  变量名 = new 数据类型A[ m ][ n ];

                        m:表示这个二维数组有多少个一维数组。或者说一共二维表有几行
                        n:表示每一个一维数组的元素有多少个。或者说每一行共有一个单元格

                * 1可简写为:数据类型A[ ][ ]  变量名 = { { 数据1 },{ 数据2 }} ;

                   2中的 n 可为空,后面在创建。

        数组的长度与下标:

                二维数组的长度/行数:二维数组名.length

                二维数组的某一行:二维数组名[行下标],此时相当于获取其中一组数据。它本质上是一个一维数组。行下标的范围:[0, 二维数组名.length-1]。此时把二维数组看成一维数组的话,元素是行对象。

                某一行的列数:二维数组名[行下标].length,因为二维数组的每一行是一个一维数组。

                某一个元素:二维数组名[行下标][列下标],即先确定行/组,再确定列。

4.Arrays工具类

        位置:在java.util包下。

        常用的方法:

                1.boolean isEquals = Arrays.equals(arr1,arr2); 比较两个数组的元素是否依次相等

                2.Arrays.toString(arr1); 输出数组元素信息

                3.Arrays.fill(arr1,值);将指定值填充到数组之中

                4.Arrays.sort(arr1); 使用快速排序算法实现排序

                5.Arrays.binarySearch(arr1,值);二分查找,前提是数组有序                

5.数组俩个练习

        Ⅰ.求最值、求和、求平均等。

/*

	案例:定义一个int型一维数组,包含十个元素,分别赋一些随机整数,范围在[10,99],
	然后求出所有元素的最大值、最小值、总和和平均值等,并输出出来。

*/
class ArrayText 
{
	public static void main(String[] args) 
	{
		//定义一个int型的一维数组,包含十个元素
		int[] arr = new int[10];
		
		//分别赋一些随机数,范围在[10,99]
		for (int i = 0;i < arr.length ;i++ ){
			arr[i] = (int)(Math.random()*(99-10+1))+10;

			System.out.print(arr[i] + "\t");
		}

		System.out.println();

		//最大值、最小值
		int max,min;
		max = min = arr[0];
		int mun = 0;
		for (int i = 0;i < arr.length ;i++ ){

			if (max < arr[i]){
				max = arr[i];
			}

			if (min > arr[i]){
				min = arr[i];
			}

			mun += arr[i];

		}
		System.out.println(max);
		System.out.println(min);
		System.out.println(mun);

		//平均值
		int averge = 0;
		averge = mun/arr.length;
		System.out.println(averge);

	}
}

        Ⅱ.杨辉三角

/*
	案例3:使用二维数组打印一个 10 行杨辉三角。
	提示:
	1.	第一行有 1 个元素, 第 n 行有 n 个元素
	2.	每一行的第一个元素和最后一个元素都是 1
	3.	从第三行开始, 对于非第一个元素和最后一个元素的元素。即:
	yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];


*/
import java.util.Arrays;
class YangHuiTest 
{
	public static void main(String[] args) 
	{
		//一个二维数组
		int[][] arr = new int[10][];
		
		for (int i = 0;i<arr.length ;i++ ){
			//提示1
			arr[i] = new int[i+1];  
			
			//提示2
			arr[i][0] = arr[i][i] = 1;

			//提示3
			for(int j = 1;j < arr[i].length - 1;j++){
                    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                }
		}

		//遍历数组
		for(int i = 0;i < arr.length;i++){
			for(int j = 0;j < arr[i].length;j++){
				System.out.print(arr[i][j] + "\t");
			}

			System.out.println();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值