Java第八课--数组基础知识
一. 数组变量的语法
dataType[] arrayRefVar;//首选的方法
或
dataType arrayRefVar[]; //效果相同,但不是首选方法
Java语言使用new操作符来创建数组,语法如下:
dataType[] arrayRefVar = new dataType[arraySize]
数组的元素是通过索引访问的,数组索引从0开始。
获取数组的长度:
arrays.length
package com.java.array;
public class ArrayDemo01 {
//变量的类型 变量的名字 = 变量的值;
//数组类型
public static void main(String[] args) {
int[] nums;//1.声明一个数组 相当于int num[];
nums=new int[10];//2.创建一个数组这里面可以存放10个int类型的数字
//int[] nums=new int[10];
//3.给数组元素赋值
for (int i=1;i<=10;i++){
nums[i-1]=i;
}
//计算所有元素的和
int sum=0;
//获取数组的长度:arrays.length
for (int i=0;i< nums.length;i++){
sum=sum+nums[i];
}
System.out.println("总和为:"+sum);
}
}
二. 三大初始化方法
package com.java.array;
public class ArrayDemo02 {
public static void main(String[] args) {
//静态初始化:创建 + 赋值
int[] a={1,2,3,4,5,6,7,8};
System.out.println(a[0]);
//动态初始化:包含默认初始化
int[] b=new int[10];
b[0]=10;
System.out.println(b[0]);
//默认初始化
/*
String类型的默认初始化为null
int类型的默认初始化为0
*/
}
}
数组边界:
合法区间[0,length-1],如果越界就会报错:
Array index Out Of Bounds Exception:数组下标越界异常!
数组的使用
-
普通的For循坏
-
For-Each循坏
-
数组作方法入参
-
数组作返回值
package com.java.array;
public class ArrayDemo03 {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
//打印全部数组元素
for (int i=0;i< arrays.length;i++){
System.out.println(arrays[i]);
}
System.out.println("=============");
//计算所有元素的和
int sum=0;
for (int i=0;i< arrays.length;i++){
sum=sum+arrays[i];
}
System.out.println("sum="+sum);
System.out.println("=============");
//查找最大的元素
int max=0;
for (int i=0;i< arrays.length;i++){
if (max<arrays[i]){
max=arrays[i];
}
}
System.out.println("max="+max);
}
}
package com.java.array;
public class ArrayDemo04 {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
// //jdk1.5,没有下标
// for (int array : arrays) {
// System.out.println(array);
// }
printArray(arrays);
System.out.println(" ");
int[] reverse = reverse(arrays);
printArray(reverse);
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
//反转数组
public static int[] reverse(int[] arrays){
int[] result=new int[arrays.length];
//反转的操作
for (int i=0,j= result.length-1;i< arrays.length;i++,j--){
result[j]=arrays[i];
}
return result;
}
}
多维数组
package com.java.array;
public class ArrayDemo05 {
public static void main(String[] args) {
int[][] array={{1,2},{2,3},{3,4},{4,5}};
for (int i=0;i< array.length;i++){
for (int j=0;j<array[i].length;j++){
System.out.println(array[i][j]);
}
}
}
}
-
给数组赋值:通过fill方法
-
对数组排序:通过sort方法,按升序
-
比较数组:通过equals方法比较数组中元素值是否相等
-
查找数组元素:通过binary Search方法能对排序好的数组进行二分查找法操作
package com.java.array;
import java.util.Arrays;
public class ArrayDemo06 {
public static void main(String[] args) {
int[] a={1,2,3,4,84588,4,5544};
System.out.println(a);
//打印数组元素Arrays.toString
System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 84588, 4, 5544]
Arrays.sort(a);
System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 4, 5544, 84588]
}
}