目录



语法

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo01 {
public static void main(String[] args) {
//数组
int[] nums;//声明
int nums2[];//早期c、c++的定义风格

nums = new int[10];//创建

//赋值
//index下标赋值,数组从0开始计数
nums[0] = 10;


//初始化
//1. 动态初始化(声明并开辟数组)
int[] a = null;
System.out.println(Arrays.toString(a));

int[] b = new int[5];
System.out.println(Arrays.toString(b));

String[] strs = new String[9];
System.out.println(Arrays.toString(strs));


//nums.lenth长度
for(int j=0;j<b.length;j++){
System.out.println(b[j]);
}

//2.静态初始化(开辟同时赋值)
//简化格式
//数据类型[] 数组名称 = {值,值,....}
//完整格式
//数据类型[] 数组名称 = new 数据类型[] {值,值,....}

int[] num = {1,2,3,4,5,6};


//3.引用传递的空间开辟
//栈区的内容不会自动清除
int[] x = null;
x = new int[]{10,20,30};
System.out.println(Arrays.toString(x));

x = null;
System.out.println(Arrays.toString(x));
}
}


引用传递时空间开辟栈区内存不会清除图解

学习008---数组_i++

数组边界

学习008---数组_java_02

创建数组内存分析

学习008---数组_java_03

学习008---数组_i++_04

二维数组

package com.starsmaple.array;

public class ArrayDemo05 {
public static void main(String[] args) {
//[4][2]

int[][] aray = {{1,2},{2,3},{3,4},{4,5}};
System.out.println(aray.length);
System.out.println(aray[0].length);


for (int i = 0; i < aray.length; i++) {
for (int j = 0; j < aray[0].length; j++) {
System.out.print(aray[i][j]+" ");
}
System.out.println();
}
//拓展:使用方法printArray
//待添加

}
}


Array类

可以打开jdk帮助文档[jdk api1.8]

也可以查看源码

package com.starsmaple.array;

import java.util.Arrays;


public class ArrayDemo06 {
//Array类 的 应用
public static void main(String[] args) {

int[] a = {1,2,32456,67875643,67,21432,2,4,3421};

System.out.println(a);//
//打印数组元素

System.out.println(Arrays.toString(a));

printArray(a);

}
public static void printArray(int[] arrays){
System.out.print("[");

System.out.print(arrays[0]);
for (int i = 1; i < arrays.length; i++) {
System.out.print(", ");
System.out.print(arrays[i]);
}
System.out.print("]");
return;
}
}

package com.starsmaple.array;

import java.util.Arrays;
import java.util.Comparator;

public class ArrayDemo07 {
public static void main(String[] args) {
//Array里的函数
//填充fill
int[] arrays = new int[10];
Arrays.fill(arrays, 1, 5, 10);
System.out.println(Arrays.toString(arrays));


int[] a = {4561, 514, 4321, 4, 45, 84, 456, 123, 4};

Arrays.sort(a);
System.out.println(Arrays.toString(a));


}
}


冒泡排序

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo08 {
public static void main(String[] args) {
int[] a = {45,45,123,4786,1554,1,45,3,2,6,5};
sort(a);
System.out.println(Arrays.toString(a));

}

//冒泡排序
public static int[] sort(int[] array){
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1 - i; j++) {
if(array[j+1]>array[j]){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
return array;
}
}


稀疏数组

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo08 {
public static void main(String[] args) {
int[] a = {45,45,123,4786,1554,1,45,3,2,6,5};
sort(a);
System.out.println(Arrays.toString(a));

}

//冒泡排序
public static int[] sort(int[] array){
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1 - i; j++) {
if(array[j+1]>array[j]){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
return array;
}
}