Java基础——数组

2017-06-18  本文已影响58人  阿敏其人

一、数组

double[] myList = new double[10];

上面的语法语句做了两件事:
1、使用 new double[10] 创建了一个数组。
2、把新创建的数组的引用赋值给变量 myList。

二、初始化

初始化:

Java中的数组必先初始化才可以使用
所谓初始化就是为数组的数组元素分配内存,并为每个数组元素赋值;

数组初始化的两种方式:

静态初始化

在定义数字的同时就为数组元素分配空间并赋值;

初始化时由我们自己指定每个数组元素的初始值,由系统决定需要的数组长度;
格式:数组名 = new 数组类型[]{元素1,元素2,元素3...元素n};
简化语法:数组名 = {元素1,元素2,元素3...元素n};

动态初始化
数组定义与为数组分配空间和赋值的操作分开进行

初始化时由我们指定数组的长度,由系统为数组元素分配初始值;
格式:数组名 = new 数组类型[数组长度];

.
.

import java.util.Arrays;
public class TestClass {
    public static void main(String[] args) {
        int []arr = new int[]{1,2,3,4}; // 静态初始化方式1
        showNum(arr);
        
        int []arr2 = {11,12,13,14}; // 静态初始化方式2 简便写法
        showNum(arr2);
        
        int []arr3;
        arr3 = new int[3]; // 默认初始化
        showNum(arr3);
        
        arr3[0]=21;     
        showNum(arr3); // 动态初始化 
    }
    
    public static void showNum(int ...arr){
        System.out.println(Arrays.toString(arr));
    }
}

.
打印:

[1, 2, 3, 4]
[11, 12, 13, 14]
[0, 0, 0]
[21, 0, 0]

不能静态和动态初始化同时使用:
也就是说动态初始化不能同时指定数组的长度和元素;

三、数组的内存分配

数组的内存分配 栈内存和堆内存
如定义一个数组

  int []scores;
  scores = new int[5]; 

在方法中定义的变量,包括基本数据类型变量和引用数据类型变量,都将在栈内存中分配空间,当超过变量作用范围后,自动回收

上一篇 下一篇

猜你喜欢

热点阅读