数组


  • 数组:是一个固定长度的,包含了相同类型 数据的容器
  • 数组本是一个引用数据类型,数组内存存储的类型可以是基本类型 也可以是引用类型

数组的定义(声明)

  • int[] a; 声明了一个数组变量。
  • []表示该变量是一个数组
  • int 表示数组里的每一个元素都是一个整数
  • a 是变量名
    • 但是,仅仅是这一句声明,不会创建数组

有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题

public class HelloWorld {
	public static void main(String[] args) {
		// 声明一个数组
		int[] a;
	}
}

数组的赋值(初始化)

  • 静态初始化(有长度 有元素)
public class HelloWorld {
	public static void main(String[] args) {
        int[] arry = new int[] {10,20,30,40,50};
        int[] arry ={10,20,30,40,50}
    }
  • 动态初始化(有长度 没元素–>默认值)
int[]array -new int[5]

数组元素的访问

  • 通过的元素在数组中的位置来访问
  • 位置—->index索引
  • 索引是有取值范围的
  • 如果数组的索引超出了数组范围
  • 会出现一个运行时异常 ArryIndexOutOfBoundsException
public class HelloWorld {
	public static void main(String[] args) {
        int[] arry = new int[] {10,20,30,40,50};
        int[] arry ={10,20,30,40,50}
        //通过元素在数组中的位置index(索引 下标)
        //array[index]
        //从数组内取得某一个位置的元素
        int value = array[0];
        System.out.println(value);
        //向数组内的某一个位置存入元素
        array[4]=400;
        
        
        //索引是有范围的
        int value=array[5];
        System.out.println(value);
        //异常----运行时异常
        //ArryIndexOutOfBoundsException 数组索引越界
    }
}    

数组元素的遍历

  • 通过循环的方式来访问数组的每一个元素

  • for(;;){

}

//将数组中的每一个元素都拿出来看一看
for(int index=0; i<5; index++){
    int value =array[index];
    System.out.println(value);
}
  • JDK1.5之后 新的特性 增强for循环

  • for(自己定义的变量(接受数据内的每一个元素):遍历的数组array){

}

for(int value:array){
    System.out.println(value);
}

  • 两个for的区别
  1. 正常的for有三要素 Index索引 找到某一个元素的位置,可以通过index直接访问数组的某一个位置 存值和取值都可以
  2. 增强的for 只能取值不能存值

基本数据类型和引用数据类型在内存结构上的区别

  • 所有的变量空间都存储在栈内存
    
  • 变量空间可以存储基本数据类型 也可以存储引用数据类型
    
  • 如果变量空间存储的是基本数据类型 存储的是值 一个变量的值改变 另一个不会跟着改变
    
  • 如果变量空间存储的是引用数据类型 存储的是引用(地址) 一个变量地址对应的值改变 另一个跟着改变

版权声明:本文为CGGG原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/CGGG/p/12549764.html