1.为什么要有数组:为了存储同种数据累型的多个值。
2.数组是存储同一种数据类型多个元素的集合,也可以看成一个容器。数组既可以存储基本数据类型,又可以存储引用数据类型。
3.数组定义格式:int[] arr=new int[5]。
4.数组的初始化:动态初始化,int[] arr=new int[5].相当于在内存中开辟连续的5块空间,系统默认初始化,整数类型为0;手动初始化,arr[0]=1,arr[1]=2。
System.out.println(arr);输出的是[I@19bb25a,代表地址值。[代表一维数组,I代表int型,@固定,19bb25a代表16进制地址值。
静态初始化,int[] arr={1,2,3,4,5},数组长度由系统自动分配。(1).int[] arr=new int[]{1,2,3,4,5},类似于int[] arr;//声明数组引用
arr =new int[]{1,2,3,4,5};
(2).简写形式:int[] arr={1,2,3,4,5};
5.整数类型:byte,short,int,long默认初始化值是0。
浮点类型:float,double默认初始化值是0.0。
布尔类型:boolean默认初始化值是false。
字符类型:char默认初始化值是'\u0000'。char在内存中占的是2个字节,是16个二进制位;'\u0000',每一个0其实代表的是16进制的0(就是0000),那么4个0就是代表16个二进 制位
字符串型和引用类型:String,引用等默认初始化值是null。
6.栈:存储局部变量(定义在方法声明上和方法中的变量);先进后出
堆:存储new出来的数组或对象
7.二维数组:int[][] arr=new int[3][2];二维数组中一维存储的是二维的地址值,当没有初始化地址值时默认null,二维没有初始化时默认值是0。
int[] arr[]=new int[3][2];
package com.day11.集合框架概述;
public class ArraysTest {
public static void main(String[] args) {
int[] arr=new int[5];
//arr=new int[]{1,2,3,4};
arr[0]=1;
arr[1]=2;
arr[2]=3;
arr[3]=4;
for (int i = 0; i < 5; i++) {
System.out.print(arr[i]);//12340
}
System.out.println();
int[][] arr1={{1,2,3},{4,5},{6,7,8}};
for (int i = 0; i < arr1.length; i++) {
for(int j=0;j < arr1[i].length; j++){
System.out.print(arr1[i][j]+" ");
}
System.out.println();
}//1 2 3
//4 5
//6 7 8
}
}