Day14 数组

学习目标

1:数组

学习内容

1:数组的概念
2:数组的特点
3:数组的初始化

一:数组的概念

数组是储存多个相同类型的元素,虽然数组中的元素均为基本元素,但是Java中使用了类似对象的处理方式处理数组。在数组的初始化中使用new进行初始化,可以理解为它也是一种容器 可以同时存放 同种数据类型的多个数据。

二:数组的的特点

1:数组是一个对象,是一种引用数据类型。可以表示一组数据的集合。
2:数组只能保存一种类型的数据。
3:数组可以使用 new 关键字 进行初始化。
4:数组有一个属性:长度的属性,表示数组中元素的个数 该属性是 int 类 型。 通过 数组名.length 来访问该属性。
5:创建数组对象会在内存中开辟一整块连续的空间。
6:数组中元素的下标的取值范围是:[0~length-1]。
7:数组的长度一旦确定,就不能更改了。数组是定长的。
8: [ ]代表的是 数组这种类型。
9:数组的长度可以是 0,但是不能是 负数。

三:数组的初始化

数组的初始化分为静态初始化和动态初始化两种。
动态初始化
动态初始化中只需给定一个数组长度,系统会默认给当前数组中的元素提供一个默认值。默认值随数组类型给出。

静态初始化
静态初始化中需要给定数组中的元素的值,由系统计算数组的长度,静态初始化中可以省略new,两种方式效果一样。
例如:

package demo01;
/**
 *  数组的初始化
 *       动态初始化
 *       静态初始化
 *       
 *       动态初始化
 *    C语言的定义:
 *    int temp[10];
 *       Java中的动态初始化
 *       类型   对象名=new  类型
 *       数据类型[]  数组名称 =new 数据类型[数组长度]
 *            **/
public class Demo01Array {
   public static void main (String[] args) {
	  //数组动态初始化
	   int[] arrayA = new int [55];
	   double  [] arrayB=new double[55];
	   String []  arrayC=new String[55];
	   //数组静态初始化
	   int[] arrayD = new int [] {1,2,3,4,5};
	   String []  arrayE=new String[] {"颜敏","程琪","hellow"};
   }
}

例二:
直接打印数组名,直接得当对应数组的内存地址的哈希值

package demo01;

public class Demo01ArrayUse {
	public static void main (String[] args) {
	   int[]  array={10,20,30,40,50};
	   System.out.println(array);
	   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 [5];
	 System.out.println(arrayA);
	   System.out.println(arrayA[0]);
	   System.out.println(arrayA[2]);
	   System.out.println(arrayA[3]);
	   System.out.println(arrayA[4]);
	 
	   double[] arrayB = new double [5];
		 System.out.println(arrayB);
		   System.out.println(arrayB[0]);
		   System.out.println(arrayB[2]);
		   System.out.println(arrayB[3]);
		   System.out.println(arrayB[4]);
		   
		   System.out.println("===============");
		   
		   String[] arrayC = new String [5];
			 System.out.println(arrayC);
			   System.out.println(arrayC[0]);
			   System.out.println(arrayC[2]);
			   System.out.println(arrayC[3]);
			   System.out.println(arrayC[4]);
			   System.out.println("==================");
			   
			   arrayC[2]="中国女足";
			   System.out.println(arrayC[0]);
			   System.out.println(arrayC[2]);
			   System.out.println(arrayC[3]);
			   System.out.println(arrayC[4]);
					   
	   
}
}

例四:
数组的编号从零开始,到数组-1结束。在调用数组指定位置时容易出现数组越界的问题、空指针问题。

package demo01;

public class Demo04ArrayIndex {
	public static void main (String[] args) {
		 int[] array = {10,20,30};
		 System.out.println(array[0]);
		   System.out.println(array[2]);
		   System.out.println(array[3]);
		   System.out.println(array[4]);
		   //错误写法,数组越界异常
		   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 {

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

上述代码运行结果

在这里插入图片描述
2020080605041
2020080605041
2020080605041
2020080605041
2020080605041

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值