概念:是一种容器,可以同时存放多个数据。
数组的特点:
数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。
两种常见的初始化方式:
动态初始化数组的格式:
数据类型 [ ] 数据名称 = new 数据类型 [ 数据长度 ] ;
解析:
左侧数据类型:数据当中保存的数据,全都是统一的什么类型
左侧中括号:代表我是一个数组
左侧数据名称:给数组取个名字
右侧的 new :代表创建数组的动作
右侧中括号 数据长度:可以存多少个数据,是一个 int 数字。
public static void main(String[] args) {
//创建一个数组存放300个int数据
int [] arrayA = new int[300];
//创建一个数组存放10个double类型的数据
double [] arrayB = double [10];
//存放5个字符串
String [] ayyayC = String [5];
}
静态初始化数组的格式:
数据类型 [ ] 数组名称 = new 数据类型 [ ] { 元素1 ,元素2 ,元素3,....... } ;
省略格式:
数据类型 [ ] 数组名称 = {元素1,元素2,元素3,........} ;
public static void main(String[] args) {
//创建一个数组,里面为:5 , 15 , 25
int [] arrayA = new int[ ] {5 , 15, 25};
//创建一个数组,里面为:"Hello" , "World", "Java"
String [ ] arrayB = new String[ ]{"Hello", "World", "Java" };
}
使用建议:如果不确定数组中的具体内容用动态,确定具体内容用静态初始化。
public static void main(String[] args) {
//省略格式的静态初始化
int [ ] ayyayA = {10, 20, 30 };
//静态初始化的标准格式拆分成两个步骤
int [ ] arrayB;
arrayB = new int[ ]{11,12,32};
//动态初始化拆分为两个步骤
int [ ] arrayC;
arrayC = new int[5];
//静态初始化的省略格式不能拆分成两个步骤
// int [] arrayD;
// arrayD = { 10,20,30}
}
访问数组元素的格式: 数据名称 [ 索引值 ];
索引值:就是一个 int 数字,代表数组当中元素的编号。
【注意】索引值从 0 开始,一直到“数组的长度 -1”为止
public static void main(String[] args) {
//静态初始化的省略格式
int [ ] array = {10, 20, 30 };
System.out.println(array);//I@1b6d3586
//直接打印数组中的元素
System.out.println(array[0]);//10
System.out.println(array[1]);//20
System.out.println(array[2]);//30
System.out.println("==============");
//也可以将数组当中的某一单个元素,赋值交给变量
int num = array[1];
System.out.println(num);//20
}
/*
使用动态初始化数组的时候,其中的元素将自动拥有一个默认值。规则如下:
如果是整数类型:默认为0;
如果是浮点类型:默认为0.0;
如果是字符类型:默认为\u0000;
如果是布尔类型:默认为false;
如果是引用类型:默认为null。
*/
public static void main(String[] args) {
//动态初始化一个数组
int [ ] array = new int[3];
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
System.out.println("============");
//将数据123赋值交给数组array当中的1号元素
array[1] = 123;
System.out.println(array[0]);//0
System.out.println(array[1]);//123
System.out.println(array[2]);//0
}
/*
获取数组长度,格式:
数组名称.length
这将得到一个int数字,代表数字的长度。
注意:数组一旦创建,程序运行期间,长度不可改变。
*/
public static void main(String[] args) {
int [ ] arrayA = {10,20,30,4,3,2,3,4,5,6,7,90};
int len = arrayA.length;
System.out.println("数组长度为:" + len);
System.out.println("=============");
int [ ] arrayB = new int[3];
System.out.println(arrayB.length);//3
int [] arrayC = new int[5];
System.out.println(arrayC.length);//5 此时为一个新的数组
}
/*
遍历数组:就是对数组当中的每一个元素进行逐一、挨个处理,默认方式为打印输出
*/
public static void main(String[] args) {
int [ ] array ={1,2,3,12,23};
//原始方式
System.out.println(array[0]);//1
System.out.println(array[1]);//2
System.out.println(array[2]);//3
System.out.println(array[3]);//12
System.out.println(array[4]);//23
System.out.println("==============");
//使用循环,次数就是数组长度
for (int i = 0; i < 5; i++) {
System.out.println(array[i]);
}
System.out.println("==============");
int len = array.length; // 快捷 array.fori
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
//比武招亲(求最大)
public static void main(String[] args) {
int[] array = {12, 34, 56, 76, 86};
int max = array[0]; //比武开始,一个在擂台上
for (int i = 1; i < array.length; i++) {
//如果当前元素,比max更大,则换人
if (array[i] > max){
max = array[i];
}
}
//谁厉害在擂台上
System.out.println("最大值:" + max);//求最小值时更改成小于
}
原文:https://www.cnblogs.com/ljq697/p/12637799.html