2021-04-18

1、数组的概念:是一种容器,可以同时存放同种数据类型的多个数据
2、数组的特点:

  •       (1)数组是一种引用数据类型
    
  •       (2)数组当中可以存储多个数据,但是类型必须统一
    
  •       (3)数组的长度在程序的运行期间是不可改变的
    
  • 数组的初始化:
  •      动态初始化
    
  •      静态初始化
    
  •      (1)动态初始化(动态初始化可以拆开为两步骤)
    
  •      c语言的定义
    
  •      int temp[10];
    
  •      java中的动态初始化
    
  •      类型 对象名=new 类型;
    
  •      数据类型[] 数组名称=new 数据类型[数组长度];
    
  •      (2)静态初始化(不省略的静态初始化可以拆开为两步骤)
    
  •      c语言写法
    
  •      int temp[]={};
    
  •      java写法
    
  •      数据类型[] 数组名称=new 数据类型{元素1,元素2,元素3....}
    

3、 注意事项

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

4、练习
(1)

package demo01;

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

public class Demo01A {
	public static void main(String[] agrs) {
		//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[] {"无尘","周洪","hello","java","world"};
		//不省略的静态初始化可以拆开为两步骤
		String[] arrayE;
		arrayE=new String[] {"无尘","周洪","hello","java","world"};
		
		//3、数组静态初始化的省略写法
		//String arrayF=new String[] {"无尘","周洪","hello","java","world"};
		//String[] arrayF;
		//错误写法,省略静态初始化不能拆开
		//String arrayF=new String[] {"无尘","周洪","hello","java","world"};
		
	}

}

(2)

package demo01;

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

public class Demo02A {
	public static void main(String[] agrs) {
	int[] array= {10,20,30,40,50};
	System.out.println(array);
	
	//数组的下标是从0开始的
	System.out.println(array[0]);
	System.out.println(array[1]);
	System.out.println(array[2]);
	System.out.println(array[3]);
	}
	

}

(3)

package demo01;

public class Demo03A {
	public static void main(String[] agrs) {
		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);
		System.out.println(arrayc[0]);
		System.out.println(arrayc[1]);
		System.out.println(arrayc[2]);
		
	}

}

(4)

package demo01;
/*
 * 数组的编号从0开始,到数组长度-1结束
 * 
 * 容易出现数组越界的问题
 * 
 */

public class Demo04A {
	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]);
	}

}

(5)

package demo01;

public class Demo05A {
	public static void main(String[] agrs) {
	int[] arrayA=new int[3];
	int[] arrayB= {1,2,3,2,3};
	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(arrayB[0]);
	System.out.println(arrayB[1]); 
	System.out.println(arrayB[2]);
	System.out.println(arrayB[3]);
	
	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]);
	}
	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值