第十四天

本文详细介绍了数组的概念,包括其作为容器存储同种数据类型的能力和固定长度的特性。分别展示了动态初始化和静态初始化两种方式,并在Java和C语言中给出了示例代码。此外,还强调了静态初始化时编译器如何推断数组长度。文章通过代码实例演示了数组的使用,包括访问数组元素和避免数组越界问题的方法。
摘要由CSDN通过智能技术生成

数组

概念

1.数组的概念:是一种容器 可以同时存放同种数据类型的多个数据
2.数组的特点:数组是一种引用数据类型 数组当中可以存储多个数据,但是类型必须统一 数组的长度在程序的运行期间 是不可改变的

数组的初始化

动态初始化 静态初始化

(1)动态初始化
C语言的定义
int temp[10];
java 中的动态初始化
类型 对象名= new 类型
数据类型[] 数组名称= new 数据类型[数据长度]

(2)静态初始化
c语言写法
int temp[]={};
java写法
数据类型[] 数组名称= new 数据类型{元素1,元素2,元素3…}

注意事项:

虽然静态初始化没有告诉编译器数组的长度,但是可以根据大括号里面的内容进行推测长度据

代码与成果展示

package demo01;
/*
 * 1.数组的概念:是一种容器 可以同时存放同种数据类型的多个数据
 * 2.数组的特点:
 *             数组是一种引用数据类型
 *             数组当中可以存储多个数据,但是类型必须统一
 *             数组的长度在程序的运行期间 是不可改变的
 * 数组的初始化:
 *             动态初始化
 *             静态初始化
 *             
 *             (1)动态初始化
 *             
 *             C语言的定义
 *             int  temp[10];
 *             
 *             java 中的动态初始化
 *             类型  对象名= new 类型
 *             
 *             数据类型[] 数组名称= new 数据类型[数据长度]
 *             
 *             
 *             (2)静态初始化
 *             
 *             c语言写法
 *             int temp[]={};
 *             
 *             java写法
 *             
 *             数据类型[] 数组名称= new 数据类型{元素1,元素2,元素3.....}
 *              
 *              注意事项:
 *              虽然静态初始化没有告诉编译器数组的长度,但是可以根据大括号里面的内容进行推测长度据
 *    
 **/

public class Demo01Array {
	public static void main(String[] args) {
		//1.数组的动态初始化
		//创建一个数组,用来存放55个int数据
		//学号
		int[] arrayA=new int[55];//动态初始化
		//java 成绩
		double[] arrayB=new double[55];
		//姓名
		//String[] arrayC=new String[55];
		//动态初始化可以拆开为两步骤
		String[] arrayC;
		arrayC=new String[55];
		
		//2.数组的静态初始化
		int[] arrayD=new int[]{1,2,3,4,5};
		//String[] arrayE=new String[]{"袁雪华","冉小龙","猪猪","妹妹"};
		//不省略的静态初始化可以拆开为两步骤
		String[] arrayE;
		arrayE=new String[]{"袁雪华","冉小龙","猪猪","妹妹"};
		
		//3.数组静态初始化的省略写法
		String[] arrayF={"袁雪华","冉小龙","猪猪","妹妹"};
		//String[] arrayF;
		//错误写法,省略静态初始化不能拆开
		//arrayF={"袁雪华","冉小龙","猪猪","妹妹"};
	}

}
package demo01;
/*
 * 直接打印数组名称,得到的是数组对应的; 内存地址的哈希值
 * 
 * 
 */

public class Demo02ArrayUse {
	public static void main(String[] args) {
		
		int[] array= {10,20,30,40,60};
		System.out.println(array);
		//数组的下标是从0开始的
		System.out.println(array[0]);  //第0编号元素
		System.out.println(array[1]);
		System.out.println(array[2]);
		System.out.println(array[3]);
		System.out.println(array[4]);
		
		System.out.println("==============");
		int num=array[3];
		System.out.println(num);
	
	}

}

在这里插入图片描述

package demo01;
/* 动态初始化
 * 
 * 
 * 
 * 
 * 
 * 
 */
public class Demo03Array {
	public static void main(String[] args) {
	int[] arrayA=  new int[3];
	System.out.println(arrayA);
	System.out.println(arrayA[0]);
	System.out.println(arrayA[1]);
	System.out.println(arrayA[2]);
	
	System.out.println("===================");
	double[] arrayB=  new double[3];
	System.out.println(arrayB);
	System.out.println(arrayB[0]);
	System.out.println(arrayB[1]);
	System.out.println(arrayB[2]);
	
	System.out.println("===================");
	String[] arrayC=  new String[3];
	System.out.println(arrayC);
	System.out.println(arrayC[0]);
	System.out.println(arrayC[1]);
	System.out.println(arrayC[2]);
	
	System.out.println("===================");
	arrayC[2]="中国女足";
	System.out.println(arrayC[0]);
	System.out.println(arrayC[1]);
	System.out.println(arrayC[2]);
	
	
	
	}

}

在这里插入图片描述

package demo01;
/*
 * 数组编号从0开始 到数组长度-1结束
 * 
 * 容易出现数组越界问题
 * 
 * 
 */
public class Demo04ArrayIndx {
	public static void main(String[] args) {
		int [] array= {10,20,30};
		System.out.println(array[0]);
		System.out.println(array[1]);
		System.out.println(array[2]);
		
		//错误写法,数组越界异常
		System.out.println("============");
		//System.out.println(array[3]);
		
		//数组的空指针异常
		int[] arrayA=null;
		//arrayA= new int[3];
		System.out.println(arrayA[0]);
		
	}

}

在这里插入图片描述

package demo01;

public class Demo05Array {
	private static final int i = 0;

	public static void main(String[] args) {
	//数组长度不可更改
	int[] arrayA=new int[3];
	
	int[] arrayB= {1,2,391,12,65,4,3,42,1};
	
	int len=arrayB.length;
	System.out.println(len);
	
	//数组长度可以更改
	int[] arrayC=new int[3];
	System.out.println(arrayC.length);
	arrayC=new int[5];
	System.out.println(arrayC.length);
	
	System.out.println("===============");
	//数组的使用
	System.out.println(arrayB[0]);
	System.out.println(arrayB[1]);
	System.out.println(arrayB[2]);
	System.out.println(arrayB[3]);
	
	
	System.out.println("===================");
	for(int i=0;i<5;i++);
	{
		System.out.println(arrayB[i]);
	}
	
	System.out.println("=================");
	for(int i=0;i<arrayB.length;i++);
	{
		System.out.println(arrayB[i]);
	}
	
	

	
	}

}

在这里插入图片描述

2020080605045 袁雪华 大数据2005

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值