-
数组的概念:可以看做是一个容器,用来装很多东西
-
可以存储一组相同数据类型的容器,开辟一组连续相同的空间用来存储相同类型的数据
-
一个班级有20个人
-
String s = "";
-
int b = 330;
-
int a = 10;*
-
栈区 -- 普通/局部变量
-
堆区 -- 对象--成员变量
-
方法区/永久区**
-
数组的定义的几种方式:
-
1.边声明边指定长度
-
类型[] 数组名 = new 类型[指定长度];
-
例如:int[] array = new int[10];
-
2.快速声明和赋值
-
类型[] 数组名 = {值1,值2,值3....};
-
例如:int[] array = {10,20,30};
-
3.边声明边赋值
-
类型[] 数组名 = new 类型[]{值1,值2,值3,...};
-
例如:int[] array = new int[]{10,20,30};*
-
数组的特点:
-
1.数组是有索引/下标的,从0开始
-
2.数组是引用数据类型
-
3.只能存储一组相同的数据类型的元素,不能存储不同类型的数据
-
4.数组的长度是固定不变的
-
5.不能访问超出数组定义的长度范围
-
6.不能给超过数组的长度进行赋值
-
7.数组是存储在堆区中的,所以系统会赋予默认值
-
int 0
-
double 0.0
-
char \u0000
-
boolean false
-
String null
-
8.可以定义任意类型的数据,引用类型/基本类型
-
9.数组不能(用数组名)二次赋值,用数组名带索引才可**
-
数组的遍历:*
-
数组的赋值:
-
数组名[下标] = 值1;
-
array[0] = 10;
-
静态赋值法:直接赋值
-
动态赋值法:通过用户输入赋值*
-
数组的属性:length长度
-
数组的使用:
-
数组名[下标]
-
数组工具类:Arrays
-
用来方便进行操作数组提供的一个工具类,JavaAPI
-
数组-排序,查找,拷贝,遍历**/
•
public class ArrayDemo01 { public static void main(String[] args) { int a; a = 20; int[] arr2 = {20,33,44};
// arr2 = {20,33,44};
String[] strs = new String[]{"hello","10","false"};//字符串数组 double[] dous = new double[5];//浮点数数组 char[] chs = new char[]{'a','b','c'};//字符数组 ArrayDemo01[] arrs = new ArrayDemo01[5]; //对象数组
// 1.边声明边指定长度 int[] array = new int[5];// 2.快速声明和赋值 int[] array2 = {11,22,33};// 3.边声明边赋值 int[] array3 = new int[]{33,44,55};
// 直接赋值 array[0] = 10;// array[5] = 20; //超出存储范围ArrayIndexOutOfBoundsException数组下标越界异常// 使用 System.out.println(array[0]); System.out.println(array[1]); System.out.println(array[2]);// System.out.println(array[5]);ArrayIndexOutOfBoundsException
System.out.println(array2[1]); System.out.println(array3[2]); System.out.println(array.length); //获取数组的长度 }
}
-
数组工具类:Arrays
-
-
用来方便进行操作数组提供的一个工具类,JavaAPI
-
-
-
数组-排序,查找,拷贝,遍历*
-
-
Arrays类名.方法名();
-
static int binarySearch(int[] a, int key) 二分查找方法,直接指定查找某个元素*static int binarySearch(int[] a, int fromIndex, int toIndex, int key) 从指定位置范围查找元素 *static int[] copyOf(int[] original, int newLength) 复制几个元素,成为一个新的数组
-
static int[] copyOfRange(int[] original, int from, int to)复制指定范围的元素
-
static void fill(int[] a, int val)填充值到数组中*static void fill(int[] a, int fromIndex, int toIndex, int val)填充值到指定范围的数组中
-
static void sort(int[] a)从小到大的排序
-
static void sort(int[] a, int fromIndex, int toIndex) 从指定范围做一个排序
-
static String toString(int[] a) 转成字符串的形式输出每个元素
-
嵌套循环
-
while(条件表达式){
-
while(){*
-
}
-
}*
-
do{
-
do{*
-
}while();
-
}while();*
-
for(1.初始化;2.循环条件;4.控制语句){外层循环
-
3.外层循环体
-
for(初始化;循环条件;控制语句){ 内层循环
-
内层循环体
-
}
-
}*
-
嵌套循环特点:
-
1.外层循环循环一次
-
2.内层循环循环执行一轮*
-
嵌套循环执行流程:
-
1.首选执行外层循环的初始化,再根据外层循环的循环条件进行判断
-
如果判断结果为true,执行外层循环的循环体
-
2.执行内层循环的初始化,再根据内层循环的循环条件进行判断,
-
如果内层循环的判断条件结果为true,继续执行内层循环的循环体
-
继续下一次的内层循环,执行控制语句,再继续内层循环的条件判断
-
继续循环判断,直到内层循环的条件判断结果为false,内层循环也就执行完毕一轮
-
3.再继续执行外层循环的控制语句,继续下一次的外层循环操作,在继续根据
-
外层循环的循环条件进行判断,判断结果为true,继续进入循环体
-
如果为false,不进入内层循环,循环结束。***/