数组:是一种容器,可以同时存放多个数据
- 特点:
- 1、数字是一种引用数据类型
- 2、数组当中的多个数据,他们的类型必须统一
- 3、数组的长度在程序运行期间不可改变
- 数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认的值
- 两种常见的初始化方式:
- 1、动态初始化(指定长度)
- 2、静态初始化(指定内容)
- 动态初始化数组的格式:
- 数据类型[] 数组名称 = new 数据类型 [数组长度];
- 解析含义:
- 左侧数据类型:也就是数组当中保存的数据,全都是统一的什么什么类型
- 左侧的中括号:代表我是一个数组
- 左侧的数组名称:给数组取一个名字
- 右侧的new 代表创建数组的动作
- 右侧的数据类型,必须和左边的数据类型保持一致
- 右侧中括号的长度:也就是数组当中,到底可以保存多少个数字,是一个int数字
public static void main(String[] args) {
//数据类型[] 数组名称 = new 数据类型 [数组长度];
//创建一个数组,里面可以存放300个int数据
int[] mingcheng = new int[300];
//创建一个数组,能存放10个double类型的数据
double[] mingcheng2 = new double[10];
//创建一个数组,能存放5个字符串
String[] mingcheng3 = new String[5];
}
- 动态初始化(指定个数):在创建数组的时候,直接指定数组当中的元素个数
- 静态初始化(指定内容):在创建数组的时候,不直接指定数据的个数多少,而是将具体的数据内容进行指定
*静态初始化基本格式: - 数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,元素N。。。};
- 注意事项:
- 虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素的具体内容,也可以自动推算出长度
public class Demo02Array {
public static void main(String[] args) {
//直接创建一个数组,里面装的全是int数字
int[] intshuzi = new int[] {5,10,15,20};
//创建一个数组,用来装字符串:“hello"、"world、“fuck””
String[] arrayA = new String[] {"hello","world","fuck"};
}
}
- 使用静态初始化数组的时候,格式还可以省略一下
- 标准格式:
- 数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,元素N。。};
- 省略格式:
- 数据类型[] 数组名称 = {元素1,元素2,…};
- 注意事项:
- 1、静态初始化没有直接指定长度,但是让染回自动推算得到长度。
- 2、静态初始化标准格式可以拆分成为两个步骤。
- 3、动态初始化也可以拆分成为两个步骤
- 4、静态初始化一旦使用省略格式,就不能拆分成为两个步骤了
- 使用建议:如果不确定数组当中的具体内容,用动态初始化,否则一经确定了具体的内容,用静态初始化
public class Demo03Array {
public static void main(String[] args) {
int[] arrayA = {2, 5, 8, 0};
String[] arrayB = {"hello", "fuck"};
//静态初始化的标准格式,可以拆分成为两个步骤
int[] arrayC;
arrayC = new int[]{11, 22, 33};
//动态初始化拆分成为两个步骤
int[] arrayD;
arrayD = new int[5];
}
}
放一组数组内判断大小的案例
public class Demo07 {
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6};
int max = array[0];//int一个谁最大!就放进去。=array[0]从哪里开始
for (int i = 1;i<array.length;i++){
//如果当前元素比max更大,则换到下方
if (array[i]>max){
max = array[i];//当前元素“array[i]”如果比max大,max就要变成当前元素
}
}
//谁最后最大,就能在max中留下来
System.out.println("最大值max:"+max);
}
```