java - 基础 - 数组
数组: 相同类型的数据(可以是基本类型也可以是引用类型)的集合,方便管理。
定义:
数据类型[] 数组名字;
初始化: 创建数组,赋值
静态初始化:
import java.util.*; class test{ public static void main(String[] args){ int[] a = new int[]{1,2,3,4,5}; int[] b = {1,2,3,4,5}; String[] c;//定义和初始化分开时必须有new
c = new String[]{"a","b","c","d","e"};
} }
遍历数组:
import java.util.*; class test{ public static void main(String[] args){ int[] a = new int[]{1,2,3,4,5}; int[] b = {10,20,30,40,50}; String[] c;//定义和初始化分开时必须有new c = new String[]{"a","b","c","d","e"}; System.out.println("-----a-----"); for(int i = 0; i < a.length; i++){ System.out.println(a[i]); } System.out.println("-----b-----"); //jdk1.5之后添加的for加强(也叫for each,但是java并没有for each这个方法); for(定义的变量:数组){} //定义的变量每次循环为数组中的元素遍历,缺点:不能存值,没有索引 for(int e:b){ System.out.println(e); } System.out.println("-----c-----"); for(String e:c){ System.out.println(e); } } }
动态初始化:
有长度,没有元素;
int[] a = new int[5];
会有一个默认值存在里面:
整数型(byte,short,int,long) 0;
浮点型(float,double) 0.0;
字符型(char) 0对应的字符 null;
布尔型(boolean) false;
引用类型 null;
int a = 10;
int b = a;
b = 100;//此时a=10,b=100
变量在内存中是栈内存中的一个空间,可以存基本数据类型(值),或者引用数据类型(地址);
int[] x = new int[]{10,20,30};
int[] y = x; //引用类型传值,传的是x的地址,而不是单纯的x中的值。
y[0] = 100; // x[0]此时也为100;
数组在内存中是在堆内存中一串连续的空间。