java 数组的学习




数组
  
  如何定义一个数组
  
  动态定义:

  数据类型[] 数组名 = new 数据类型 [元素个数]

  例如: int[] array = new int [10];
  
  占用的内存空间 array 占了8个字节(引用数据类型全是八个字节),

  数据占用了 10 * 4(int类型)个字节,一共48个字节。
   
  静态定义:

  数据类型[] 数组名 = {1 ,2 ,3 ,4};

  过程:

   在内存中新建了一个连续的内存空间,里面的能够保存的是10
 
  个 int 类型的数据,这个内存的空间名字叫 array

  int : 数据类型,告诉我们这个数据空间里面保存的数据是什么类型的,

 这里表示的是 int 类型。

   数组的下标(index)由0开始。

 数组定义的左边:

 [] : 1、这里定义的数据是一个数组类型

  2、array是一个【应用数据类型】

 array: 数组名,就是一个标识符,按照标识符的规则来。

 右边: 

  new:创建【对象】的关键字

  int:表示这个空间里面只能保存int类型的数据

  [10]:标识这个数组的【元素个数】为10,能够保存的最大数据。

 对数组的赋值:

  1、用循环赋值  for(int i = 0; i < array.length; i++){
     
     array[i] = i;
    
    }

  2、从键盘上获取对数组的赋值

  /*
  stdin : 标准输入设备(键盘)

  stdout : 标准输出设备(显示屏)
  */

  int[] arr = new int [10];  

  Scanner sc = new Scanner(System.in);
  
  //sc : 引用类型的变量

  for(int i = 0 ;i < array.length ;i++){
   
   arr[i] = sc.nextInt();

  }

 数组的内存分析【难点 抽象】:

  栈区:一般都是普通变量 存放数据类型 8 个字节。(一个字节 八个bit)

  = :  将数组在堆区首地址 赋值 (由堆区到栈区只能说赋值)给栈区的引用变量

   地址用十六进制表示。

  堆区:一般存放 new 后自定义的数据,属于数组空间。

  数组名:属于一个【引用】数据类型,里面保存的都是【地址】

  arr1 = arr2;   //把引用数据类型arr2 里面保存的地址赋值给引用数据类型 arr1

   结果: 他们两都指向同一个数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值