Java数组的概念

数组的概念
数组是相同类型数据的有序集合.
相同类型的若干个数据,按照一定先后次序排列组合而成。
其中,每一个数据称作一个数组元素
每个数组元素可以通过一个下标来访问它们.
数组的特点:
其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 (缺点)
其元素必须是相同类型,不允许出现混合类型。(除过Object以外)
数组中的元素可以是任何数据类型,包括基本类型和引用类型。
数组中可以存放重复的元素
1:数组的定义以及初始化
1.1 :动态初始化: 数据类型[] 数组名 = new 数据类型[数组长度];
1.2:静态初始化: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2…};
1.3:静态初始化
数据类型[] 数组名 = {元素1,元素2…};
2:获取元素
根据数组的下标获取元素 数组名[下标]
注意:下标从0开始,到数组长度-1结束
[0,数组.length-1]
3:获取数组的长度 (长度是数组的属性)
数组名.length
4:数组的遍历:数组的迭代,依次将数组中的元素获取
4.1 :普通for循环
for(int i = 0;i<数组.length;i++){
System.out.println(arr[i]);
}
4.2 :for-each jdk1.5新特性
for(数组的数据类型 变量名:数组名){
System.out.println(变量名);
}
普通for循环和for-each循环的区别
1:共同点:都可以依次遍历元素
2:不同点
2.1:for-each遍历的效率比普通for循环高
2.2: 普通for循环根据下标获取元素
for-each没有下标,声明一个临时的变量来保存元素
2.3:普通for循环在遍历的同时还可以对数组做修改
for-each循环在遍历的同时不可以对数组做修改
2.4:for-each只有一个功能:就是遍历元素
5:数组的内存分析

public static void main(String[] args) {
		
		//1:声明数组
		  int[] score;//声明一个整型的数组,数组名叫score
		  //int score2[];
		//2:初始化数组
		  score = new int[5];  //创建一个长度为5的数组 (在堆内存中开辟一块大小为5的空间)
		 //3:给数组存储数据 
		  score[0] = 100;
		  score[1] = 99;
		  score[2] = 98;
		  score[3] = 97;
		  score[4] = 100;
		 // score[5] = 85;//第六个  ArrayIndexOutOfBoundsException  数组下标越界
		  
		  //4:定义数组,并初始化  动态初始化 (根据数组的长度来确定元素的个数)
		  String[] str = new String[3];
		  str[0] = "a";
		  str[1] = "b";
		  str[2] = "c";
		  //5:定义数组,并初始化 静态初始化 (根据元素的个数来确定数组的长度)
		  String[] str2 = new String[]{"a","b","c"};
		  //6:定义数组,并初始化 静态初始化 (根据元素的个数来确定数组的长度)  直接赋值法
		  String[] str3 = {"a","b","c"};
		  //7:获取数组的元素 (根据下标获取数组元素)
		  System.out.println(str3[2]);
		  System.out.println(str3[1]);
		  System.out.println(str3[0]);
		  //8:获取数组的长度
		  System.out.println(str3.length);
		 // String[] str3 = new String[3]{"a","b","c"};//错误,不能同时写长度以及元素
		  //9:遍历数组
		  int[] arr = {10,20,30,40,50,100};
		 /* System.out.println(arr[0]);
		  System.out.println(arr[1]);
		  System.out.println(arr[2]);
		  System.out.println(arr[3]);
		  System.out.println(arr[4]);
		  System.out.println(arr[5]);
		  */
		  //从下标为length-1开始循环,倒循环
			for(int i= arr.length-1;i>=0;i--){
				 System.out.println(arr[i]);
			}
			System.out.println("-------------------");
			
			
			
			
			
			
			//从下标为0开始循环
		/*	for(int i = 0;i<arr.length;i++){
				System.out.println(arr[i]);
				arr[i] = 300; //修改  重新赋值
			}
			*/
			
			System.out.println("-------------------");
		   //for--each循环
			for(int a:arr){
				System.out.println(a);
				a = 200;
			}
		  
			System.out.println(Arrays.toString(arr));
			
		 /* int i = 0;
		  while(i<arr.length){
			  System.out.println(arr[i]);
			  i++;
		  }
		*/
		
		
	}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值