java基础-数组
1.数组的声明和初始化:
(1)静态初始化:
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] ids = {1,2,3,4,5};System.out.println(Arrays.toString(ids));} }
(2)动态初始化:
import java.util.Arrays; public class Main {public static void main(String[] args) {int[] arr = new int[10];arr[0] = 1;} }
2.数组的内存简化结构;
3.空指针异常:
当程序试图在一个值为null的引用上调用方法、访问属性或者进行数组操作时,就会抛出该异常;
(我们这里先只针对数组);
(1)情况一:
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] arr1 = {1,2,3};arr1 = null;System.out.println(arr1[0]);} }
(2)情况二:(数组未初始化就调用方法)
import java.util.Arrays;public class Main {public static void main(String[] args) {int[][] arr1 = new int[4][];System.out.println(arr1[0][0]);} }
(3)情况三:(null对象调用方法)
import java.util.Arrays;public class Main {public static void main(String[] args) {String[] arr1 = {"AA", "BB", "CC"};arr1[0] = null;System.out.println(arr1[0].toString());} }
4.数组的工具类:
(1)
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] arr1 = {1,2,3,4};int[] arr2 = {1,3,2,4};boolean isEqual = Arrays.equals(arr1, arr2);System.out.println(isEqual);} }
(2)
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] arr1 = {1,2,3,4};int[] arr2 = {1,3,2,4};System.out.println(Arrays.toString(arr1));} }
(3)这个是将数组中的所有元素都替换为给定值
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] arr1 = {1,2,3,4};int[] arr2 = {1,3,2,4};Arrays.fill(arr1, 10);System.out.println(Arrays.toString(arr1));} }
(4)
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] arr1 = {1,2,3,4};int[] arr2 = {1,3,2,4};Arrays.sort(arr2);System.out.println(Arrays.toString(arr2));} }
(5)二分查找:前提是数组必须是有序的;返回的是查找值的下标;