数组
数组是一种引用类型。数组可以存放多个类型统一的数据。可以存放基本类型,也可以存放引用类型。
1.动态初始化。指定数组的长度。
- 数据类型[ ] 数据名称 = new 数据类型 [ 数据长度 ]
- 左侧[ ] :代表一种数组类型
- 右侧new:代表创建动作,内存中开辟空间,创建数组
- 右侧数据类型:一定要和左侧的数据类型一样
- 右侧[ ] 当中的数组长度:也就是到底能存放多少个数据
public class Array {
public static void main(String[] args) {
int[] arry1 = new int[3]; // 动态初始化数组array1,可存放三个数据
double[] arry2 = new double[5]; // 可存放5个double数据
String[] arry3 = new String[10]; // 十个字符串
int[] arry4;
arry4 = new int[10];
}
}
2.静态初始化。指定数组的内容。
//静态初始化
//不会指定长度,指定元素内容
//数据类型[] 数组名称 = new 数据类型[ ]{元素1,元素2,元素3...}
//简便格式:数据类型[ ] 数组名称 = {元素1,元素2,元素3...}
//静态虽然没有指定长度,但能推算出有多少长度。
//简便格式没写new,单内存仍有开辟空间的过程。
//虽然制定了具体元素内容,但任然会有默认值被替换过程。
public class ArrayStatic {
public static void main(String[] args) {
int[] array1 = new int[3];
array1[0] = 10;
array1[1] = 20;
array1[2] = 30;
System.out.println(array1[0]);
System.out.println(array1[1]);
System.out.println(array1[2]);
// 静态初始化
int[] array2 = new int[] { 15, 23, 45 };
System.out.println(array2[0]); // 15
System.out.println(array2[1]); // 23
System.out.println(array2[2]); // 45
// 简便格式,必须一个步骤一次到位
int[] array3 = { 15, 34, 68 };
System.out.println(array3[0]); // 15
System.out.println(array3[1]); // 34
System.out.println(array3[2]); // 68
}
}
3.数组元素的访问:
//直接打印显示16进制地址值(哈希值)。
//数字名称[索引编号]
//索引0开始,到长度-1为止
//动态初始化,数组被赋予默认值。
//整数,默认0;
//浮点数0.0 ;
//字符'\u0000'(unicode);
//布尔值false;
//字符串或其他引用类型:null
public class ArrayVist {
public static void main(String[] args) {
int[] array1 = new int[3];
System.out.println(array1[0]); // 0
System.out.println(array1[1]); // 0
System.out.println(array1[2]); // 0
System.out.println(array1); // 数组名称,地址值[I@2e5c649
double[] array2 = new double[3];
System.out.println(array2[0]); // 0.0
// 改变数组具体元素
array2[1] = 3.14;
System.out.println(array2[1]); // 3.14
// 数组元素赋给一个变量
double num = array2[1];
System.out.println(num); // 3.14
}
}
4.数组长度的获取:
//格式:数组名称.length
//将会得到一个int数字,代表数组长度
//【注意】:一个数组被创建了,那么长度不能发生改变。
public class ArrayLength {
public static void main(String[] args) {
// 静态初始化
int[] array1 = { 1, 2, 3124, 54, 51, 5, 15, 2, 2, 31, 3, 14, 1, 4, 21, 4, 214, 14 };
System.out.println(array1.length);
// 动态初始化
int[] array2 = new int[25];
System.out.println(array2.length);
}
}
Example:
1.求数组中的最大值跟最小值
//求数组中的最大值跟最小值
public class Arraymax {
public static void main(String[] args) {
int[] array1 = { 31, 31, 4, 1, 42, 51, 5, 21, 3, 12, 3, 12, 3, 1, 4, 15, 16316, -80 };
int max = array1[0];
for (int i = 1; i < array1.length; i++) {
if (array1[i] > max) {
max = array1[i];
}
}
System.out.println("最大值:" + max);
int min = array1[0];
for (int i = 1; i < array1.length; i++) {
if (array1[i] < min) {
min = array1[i];
}
}
System.out.println("最小值:" + min);
}
}
2.求出数组元素总和
//求出数组元素总和
public class ArraySum {
public static void main(String[] args) {
double[] array = { 123.213, 42.2, 46.7 };
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
System.out.println(sum);
}
}