数组基础

来源:互联网 发布:js定时执行 编辑:程序博客网 时间:2024/06/06 00:03
class Array1 
{
/*
 int[] --> int类型的数组,  里面按照顺序存储多个int类型数据的容器
 double[]
 char[]
 String[] -> 字符串类型的数据, 里面存储是字符串类型,


 //java中数组 有一个要求,叫做同类型数据存储,
 //继承关系 ---》 A is B ?  A继承自B
 // 伪代码 --》 水果[] arr = new 橘子[]{橘子1, 橘子2, 橘子3};
 //前面这种是OK的,因为橘子也是水果,他们是同一个类型,
 只不过橘子是水果的一个子类,所以是可以的,


 // 水果[] arr = new 人[] {张三, 李四, 王五};这是错误的,
 因为初始化的元素的类型 和 数组声明的时候指定的类型不匹配。




      int[] arr;  --> arr是标识符,变量名,是一个数组类型的 引用变量
 我们要使用这个变量,才可以访问到数组中存储的每一个元素
 
 //访问数组中的元素
 arr[0] = 10;       
 int age = arr[0];   在访问数组元素的时候,方括号中的数字, 
 叫做数组元素的索引值,也叫下标,英文叫做index


 //new --》 是指在内存的 堆区为数组开辟一块区间,来存储每个元素的数据
 // int[]{};  int[] 要跟你定义数组时指定的类型保持一致
 //{}; 大括号中是赋值给每个数组元素的初始值, 每个元素值用 逗号,分隔




int[] arr = new int[7];
//指定数组长度,系统赋初始值, 系统会为每个元素赋值为null




//一定要注意,自己赋值初始值 和 赋值长度不能同时有
int[] arr1 = new int[7]{10 ,20 ,3, 4, 5, 6, 7}; 这是错的!









*/
public static void main(String[] args) 
{
/*
数组是有序的存储相同类型数据的容器


数组的创建
有两种创建方式:
1.静态数组创建方式
2.动态数组创建方式
*/


/*
1.静态方式创建数组


是指在创建数组的时候,给出指定的初始值


*/
//不管是什么类型的创建数组的方式,以下几个注意点:
//(1)数组的创建 分为两步, 第一步是定义一个数组类型的变量
//在栈区分配一个区域,这个区域是用来存储 数组中首元素地址
//(2)第二步, 初始化数组
//这个时候,才真正的在堆区为每个数组元素都分配了一个区间
//如果你是静态方式创建数组, 那么每个元素 自己赋初始值,
//系统帮你决定数组的长度, 所以静态初始化方式,不要自己给长度


//完整的静态创建数组的方式
int[] array;  // 这一步叫做定义一个数组类型的变量,变量名叫做array
//我们可以用变量名array 来引用到数组中的元素


array = new int[]{10, 22, 13, 45, 88};


//这种方式可以让数组变量的定义和初始化在同一行完成
int[] arr = new int[]{10, 11, 2, 3 ,45};




//第二种方式
//简洁的静态初始化方式
//但是要注意简洁版本的创建,定义数组引用变量和数组的初始化必须同步完成
//也就是不能按照上面的方式,先定义再赋值。
int[] array1 = {10, 20 ,33, 12, 34, 77, 88};




//动态创建数组的方式
//动态创建是指,程序员指定长度,系统帮你赋上初始值,默认值是null
int[] arr2 = new int[7];
//那么这行代码,会在堆区分配一个7个int长度的连续空间
//系统默认给每个元素赋值为null


        //这种和上面没有任何区别,只是写法不一样,但是不建议这样写,
//int arr3[] = new int[5];
int[] arr3 = new int[5]; //通俗易懂


//取数组中的元素来赋值
arr3[0] = 10;
arr3[1] = 20;
//...








System.out.println("Hello World!");
}
}
0 0