数组
数组其实也是一种数据结构。
数组是连续的内存,存储的数据类型相同
int[] array2 = new int;//定义数组
int[] array = {1,2,3,4,5};//数组,整形数组 ,初始化
public static void main(String[] args) {
int[] array = {1,2,3,4,5};//数组
System.out.println(array);
//引用指向了对象
String str = "de";
System.out.println(str);
//实际str存的就是地址,只不过打印函数的时候做了转换
}
}
不是真正的地址,但等同于地址来看待,这个地址实际上是真实的地址hash得到的,地址是唯一的.
打印数组的内容:
public static void main(String[] args) {
int[] array = {1,6,3,4,6};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
//数组不能越界
System.out.println(array.length);
}
数组的遍历方式
1.for循环
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
}
2.foreach循环
public static void main(String[] args) {
int[] array = {1,6,3,4,6};
for (int i : array ) {//取数组中的每一个值
System.out.print(i+" ");
}
}
3.将数组以字符串的方式进行打印
int[] array = {1,6,3,4,6};
/* for (int i : array ) {
System.out.print(i+" ");
}*/
String ret = Arrays.toString(array);
System.out.println(ret);
}
数组的赋值
public static void main(String[] args) {
int[] array = new int[5];
for (int i = 0; i < array.length; i++) {
array[i] = 2 * i;
System.out.println(array[i]);
}
}
下标赋值
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
array[2] = 99;
for (int i = 0; i < 5; i++) {
System.out.print(array[i]+" ");
};
}
数组的传参
public static void strArray(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
strArray(array);
}
}
数组可以作为返回值
public static void main(String[] args) {
int[] tem = num();
System.out.println(Arrays.toString(tem));
}
public static int[] num(){
int[] array = {1,2,3,4,5,6};
return array;
}
两个数的交换
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[] array = {n,m};
num(array);
System.out.println(array[0]+" "+array[1]);
}
public static void num(int[] array0){
int tmp = array0[0];
array0[0] = array0[1];
array0[1] = tmp;
}