数组
1. 数组的概述
public class Init { public static void main(String[] args) { int[] array = new int[4]; // 动态初始化 //数据类型[] 数组名 = new 数据类型[数组的长度]; array[0] = 10; // 赋值 array[1] = 20; // 赋值 array[2] = 30; // 赋值 array[3] = 40; // 赋值 for (int i = 0; i <= 3; i++) { System.out.println(array[i]); } } }
2.2 动态初始化
public class InitPractice { // public static void main(String[] args) { // char [] arr_char = new char[] {‘默‘,‘努‘,‘力‘,‘的‘,‘C‘}; // int a = arr_char.length; // for (int i =0; i<a; i++) { // System.out.println(arr_char[i]); // } // } public static void main(String[] args) { boolean [] arr_bool = new boolean [] {false, false, true, true}; System.out.println(arr_bool[0]); } }
3. 数组的内存分析
栈(stack):局部变量和方法的执行,没有初始值
堆(heap): new出来的东西,有初始值--->基本数据类型:对应默认值
引用数据类型:null
4. 数组常见异常
5. 数组应用
5.1 数组遍历
例子:定义一个数组{1,2,3,4,5}; 按如下格式打印数据:
public static void printArr(int[] arr) { for (int i = 0; i < arr.length; i++) { if (arr.length == 1) { System.out.println("[" + arr[i] + "]"); } else if (i == 0) { System.out.println("[" + arr[i] + ","); } else if (i == arr.length - 1) { System.out.println(arr[i] + "]"); } else { System.out.println(arr[i] + ","); } } }
可以单独封装成方法,public static 在同一个包下可以在不同的class文件中引用
引用方法格式:文件名.方法名(传入的参数)
和python封装类似
5.2 最值
求出一个数组中个最大值和最小值
public static void printMaxandMin(int[] arr) { int max = arr[0]; int min = arr[0]; for (int i = 0; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; } if (min > arr[i]) { min = arr[i]; } } System.out.println("最大值为:" + max); System.out.println("最小值为:" + min); }
5.3 元素交换
将数组中两个元素做交换
/*
这是逆序,相当于头尾两两元素对应交换
*/
public static void reverse(int[] arr) { for (int i =0; i<arr.length/2; i++) { int temp = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = temp; } for (int j = 0; j<arr.length;j++) { System.out.print(arr[j]); } }
原文:https://www.cnblogs.com/gzqcason/p/14803140.html