JavaSE基础——数组概述和定义格式说明

JAVA学习day05 javase基础语法——数组概述和定义格式说明

1.1 数组的概念

数组是存储同一种数据类型多个元素的集合。也可以看成一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型,但在同一个数组中,存储的数据类型必须一致。

定义格式:
数据类型 [ ] 数组名 = new 数据类型 [ 元素个数或数组长度];

数据类型 数组名 [ ] = new 数据类型[元素个数或数组长度];

int[] arr = new int[2];  
int arr [] = new int [3];

上述语句就相当于在内存中定义了2个 int 类型的变量,第一个变量的名称为arr[ 0 ];第二个变量就是arr[ 1 ];
要注意数组的索引是从 0 开始的,并非从1开始。

1.2 数组的初始化

Java中的数组必须先初始化,然后才能用。所谓的初始化,就是给数组中的元素分配内存空间,并为每个数组元素赋值。
初始化的分类有动态初始化 : 只指定长度,由系统给出初始化值;静态初始化 :给出初始化值,由系统判断长度。
下面是两种初始化的格式 :

//动态初始化
int[] arr = new int [100];
//静态初始化
int[] arr1 = {
   0,1,2,3,4,5};

下面通过一个案例介绍如何进行定义数组及访问数组中的元素:

package org.westos.demo3;

public class ArrayDemo {
   
    public static void main(String[] args) {
   
        //动态初始化数组
        int[] arr = new int[5];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[3] = 4;
        //访问数组中的第四个元素
        System.out.println("arr[0]="+arr[0]);
        System.out.println("arr[1]="+arr[1]);
        System.out.println("arr[2]="+arr[2]);
        System.out.println("arr[3]="+arr[3]);
        System.out.println("arr[4]="+arr[4]);
    }
}

运行如下图所示:
JavaSE基础——数组概述和定义格式说明_第1张图片
图 1-1 运行结果截图

我们看到没被赋值的arr[ 4 ] 会被系统赋一个为0的初值。

1.3 Java中的内存分配以及堆和栈的区别

(1)栈:栈存放的是局部变量,局部变量是在方法中定义或声明的;
(2)堆:堆中存放的是所有 new 出来的对象;特点:
a:每一个 new 出来的对象都会给其分配一个地址值。
b:每个变量都有一个默认的初值:

  byte,short,int,long 初值为0 ;
  float,double 初值为0.0 ;
  char 初值是一个空字符’ \u000’ ;
  boolean 初值为false ;
  引用数据类型为null ;
c:变量使用完毕后就变成了垃圾,等待垃圾回收器对其回收。
(3)方法区:用于存储已被JVM加载的类信息 、常量 、静态变量 。
(4)本地方法栈:(和系统相关)。
(5)寄存器:cpu 使用。

下面我们通过几个案例分析数组的内存图解:
(1)定义一个数组,输出数组名称和数组中的元素值,给数组赋值,再次输出数组名称和数组中的元素值。
代码:

package org.westos.demo3;

public class ArrayDemo1 {
   
    public static 

你可能感兴趣的:(JavaSE学习,数组,递归,菲波那切数列,杨辉三角)