Java学习笔记(9)-数组

数组

    什么是数组:类型一致的一组数据,相当于集合概念,在软件中解决一组,一堆xxx数据时候使用数组。

    数组变量:是引用变量(不是基本变量)引用变量通过数组的内存地址位置引用了一个数组(数组对象),栓到数组对象的绳子。

    int[] ary = new int[3];//ary----------->{0,0,0}<-------------ary1

    int[] ary1 = ary;// ary 的地址赋值给ary1

    ary与ary1绑定了同一个数组

    ary[1]与ary1[1]是同一个元素

    数组变量不是数组(数组对象)

   数组(数组对象)

        有3种创建(初始化)方式

        1)new int[10000]给元素数量,适合不知道具体元素,或者元素数量比较多时。

        2)new int[]{3,4,5};不需要给出数量,直接初始化具体元素适合,知道数组的元素。

        3){2,3,4}静态初始化,是(2)简化版,只能用在声明数组变量时候直接初始化。

数组元素的访问

    1)数组长度:长度使用属性访问:ary.length获取数组下标

    2)数组下标:范围:0-length-1就是[0,length)超范围访问会出现:下标越界异常

    3)使用[index]访问数组元素:ary[2]



package day05;
/*
 * 数组
 * 声明数组变量 
 * 创建数组对象
 */
public class Demo02 {
	public static void main(String[] args) {
		//声明和创建数组
		int[] ary;//声明数组变量ary
		ary=new int[3];//new int[3]创建数组对象,简称创建数组
		/*
		 * ary=数组对象:表示ary的值引用了数组对象
		 * ary是引用变量,引用了 一个数组对象new int[10]
		 * 
		 */
		int[] ary2 = ary;//是引用的赋值,赋值结果ary2和ary
		//引用了同一个数组对象
		ary[0]=3;
		System.out.println(ary2[0]);//3
		
		//数组元素的自动初始化:创建数组时候数组元素是自动初始化的
		//初始化为0值0 0.0 false /u0000编码为0的字符,是控制字符
		int[] ary3 = new int[3];//元素自动初始化为0
		System.out.println(ary3[0]);//0
		System.out.println(ary3[1]);//0
		System.out.println(ary3[2]);//0
		double[] ary4 = new double[3];
		System.out.println(ary4[0]);//0.0
		boolean[] ary5 = new boolean[3];
		System.out.println(ary5[0]);//false
		char[] ary6 = new char[3];
		System.out.println(ary6[0]);//控制字符\u0000显示无效果
		System.out.println((int)ary6[0]);//0
		
		//创建数组时候直接初始化元素
		int[] ary7 = new int[]{2,3,4};
		System.out.println(ary7[0]);//2
		//数组静态初始化:简化版初始化数组元素,只能用在声明变量时候直接赋值
		int[] ary8 = {2,3,4};
//		ary8  = {4,5,6};//编译错误
		ary8 = new int[]{4,5,6};
		/*
		 * {0,0,0},new int[]{0,0,0}和new int[3]
		 * 如上3中数组是,没有任何差别的!
		 * 根据实际业务需要,哪种方便用哪个
		 * 如:创建10000个元素的数组,用new int[10000]
		 * 如果已经知道有具体元素了,用{3,4,5}或new int[]{4,5,6}
		 */
	}
}


package day05;
/*
 * 访问数组元素
 */
public class Demo03 {
	public static void main(String[] args) {
		int[] ary1 = new int[]{3,4,5};
		//数组的长度属性length
		System.out.println(ary1.length);//3
		//数组的下标范围0,1,2最后一个元素的位置length-1
		//超过数组下标范围访问会出现异常。
		System.out.println(ary1[0]);//3
		System.out.println(ary1[2]);//5
		System.out.println(ary1[ary1.length-1]);//5
//		System.out.println(ary1[3]);//运行异常,下标越界
		ary1[0]=8;//修改数组元素
		ary1[1]++;
		System.out.println(ary1[0]);//8 读取数组元素
		System.out.println(ary1[1]);//5
	}
}


package day05;
/*
 *数组的迭代
 *迭代:遍历,就是将数组元素逐一处理一遍的方法 
 */
public class Demo04 {
	public static void main(String[] args) {
		//累加数组元素
		int[] ary = {1,2,3,4,5,6,7,8,9};
		//           1 2 3 4 5 6 7 8 9 lenghth 10
		//i = 0~<length
		int sum = 0;
		for(int i=0;i<ary.length;i++){
			//i = 0 1 2...9 代表数组的每个序号
			//ary[i] = 1 2 3 ... 9代表数组中每个元素
			int n = ary[i];//n是数组中每个元素
			System.out.println(i+":"+n);//0:1
			sum+=n;
		}
		System.out.println(sum);
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值