一、方法重载
法方重载要注意的是:
public class ccc {
/**
* 方法重载:方法名必须相同,参数列表必须不同,放回的参数类型可以不同
*/
public static void aa() { }//可以没有参数
public static int aa(int a){ return a;}//和下面的一个不同就是产生列表
public static int aa(int a,int b){ return a;}
public static double aa(double a,int b){ return a;}//参数列表类型不同也可以
public static double aa(double a,double b){ return a;}
}
二、数组
数组下标重0开始,内存连续
(1)数组的创建方式:
public static void main(String[] args) {
int arr[];
int[] arr1;//首先这个
//静态初始化
int[] array = new int[]{1,2,3,4};
int[] array1 = {1,2,3,4};
//动态初始化:注意先定义好长度再添加元素
//多维数组,new int[行][列]
int[] mArray2[];
int[][] mArray = new int[3][2];
int[][] mArray1 = new int[2][];//行数必须有值
//数组长度是array.length,没有减一
int len = array.length;
}
二维数组访问注意:
- 获取二维数组:数组名
- 获取每一个一维数组:数组名[索引]
- 获取每一个二维数组元素:数组名[索引] [索引]
- 二维数组:arr.length计算的是行数。
(2)数组注意问题
数组下标是0开始,定义长度是索引减一
int[] arr = new int[3];//没有下标是arr[3]的元素
数组的默认值:
public class ccc {
static int[] array = new int[3];
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr[0]);//0
System.out.println(array[0]);//0
}
}
三、数组的Arrays 类
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
public static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)
import java.util.Arrays;
public class Test1 {
public static void main(String[] args) {
//Arrays.toString()方法,数组输出
int[] arr = {3,2,9,5};
System.out.println(Arrays.toString(arr));// [3, 2, 9, 5]
//Arrays.sort()方法
/**
* 对字符串进行排序时,是对每一个字符比较,而不是简单的比较长度
* str1 = abd
* str2 = abcdef
* 因为d > c,所以 str1 > str2
*/
Arrays.sort(arr);//数组排序,默然是【升序】
System.out.println(Arrays.toString(arr));//[2, 3, 5, 9]
Arrays.sort(arr,0,1);//Arrays.sort(数组名,起始下标,排序个数)
//Arrays.equals()方法
/**
* 注意:Arrays.equals()是比较【数组内容】
* 而a.equals(b) 这样的方法是比较【地址值】
*/
int[] ar = {1,3,4};
int[] ar1 = {1,3,4};
System.out.println(Arrays.equals(ar,ar1));//true
//Arrays.binarySearch(),二分查法(查找元素)
int[] Arr = {1,3,5,7};
Arrays.binarySearch(Arr,5);//返回值大于0就是找到了
}
}