172.16.0.84_11.30孔鹏曌
11.30
学习内容
Arrays类
array:译为数组;
公司、开发人员用到的数组时需求所需的功能是共性的需求,Java语言使用Arrays类提供了大多数人对数组的操作功能;
Arrays类在java.util
包中;
类对应文件;包对应目录;文件是放在目录下的,类是放在包下的;
Arrays类提供了很多专门操作数组的方法。
比较数组是否相等(equals)
例:
public static void main5(String[] args) {
int []num1 = {1,2,3,4,5};
int []num2 = {1,2,3,4,5};
int []num3 = {1,2,3,4};
System.out.println(Arrays.equals(num1, num2));
System.out.println(Arrays.equals(num1, num3));
}
排序(sort)
例:
public static void main(String[] args) {
int []num1 = {67,34,56,89,12,2};
//排序前的顺序
for (int i = 0; i < num1.length; i++) {
System.out.println(num1[i]);
}
//排序
Arrays.sort(num1);
//排序后
for (int i = num1.length-1; i >=0 ; i--) {
System.out.println(num1[i]);
}
}
转换字符串(toString)
例:
public static void main(String[] args) {
int []num1 = {67,34,56,89,12,2};
String str = Arrays.toString(num1);
System.out.println(str);
}
赋值(fill)
例:
public static void main(String[] args) {
int []num1 = {67,34,56,89,12,2};
Arrays.fill(num1, 60);
String str = Arrays.toString(num1);
System.out.println(str);
}
拷贝(copyOf)
例:
public static void main(String[] args) {
int []arr1 = new int[] {10,50,40,30 };
//将arr1复制成长度为3的新数组arr2
int []arr2 = Arrays.copyOf(arr1,3);
System.out.println(Arrays.toString(arr2));
//将arr1复制成长度为4的新数组arr3
int []arr3 = Arrays.copyOf(arr1, 4);
System.out.println(Arrays.toString(arr3));
//将arr1复制成长度为6的新数组arr4
int []arr4 = Arrays.copyOf(arr1, 6);
System.out.println(Arrays.toString(arr4));
}
二进制查找(binarySearch)
例:
public static void main(String[] args) {
int []arr = new int[] {10,50,40,30 };
Arrays.sort(arr);//排序后 10 30 40 50
int index = Arrays.binarySearch(arr, 10);
System.out.println(index);
index = Arrays.binarySearch(arr, 0);
System.out.println(index);
index = Arrays.binarySearch(arr, 45);
System.out.println(index);
index = Arrays.binarySearch(arr, 90);
System.out.println(index);
}
方法
方法是完成特定功能、相互独立的程序段;方法可以使得代码重复使用,减少代码冗余。
定义:
返回值类型 方法名称(参数列表){
方法体
}
(1) 方法名称
(2) 方法参数是指调用方法的前提条件,如果方法没有前提条件,那么方法可以不写参数
(3)方法返回值是指方法调用的结果,如果方法没有返回值,那么方法返回值的位置写void,void表示这个方法不返还结果。
主调方法和被调方法,形参和实参
主调方法调用被调方法时,主调方法需要向被调方法传递参数(例如韩德云取钱)。主调方法提供的数据叫实际参数,被调方法的参数是形势参数。方法在调用过程中,主调方法的实际参加传递给被调方法的形势参数。
方法的返回值
被调方法可以返回值,也可以不返回值;但是
(1) 返回值的类型必须与方法声明中的返回值类型相同或者是其子类。
(2) 使用 return语句返回值。
系统方法和自定义方法
Jdk
提供的方法都称为系统方法,系统方法不需要开发人员定义就可以直接使用,例如System.out.println();
就是系统方法,可以直接使用。
Jdk
中没有提供的方法,而你有需要,这是就需要开发人员自己定义方法,定义后才能使用(调用)。
小贴士
API
,即应用程序接口,application programming interface
。API就是别人提供的,你可以调用的方法。
代码冗余:代码重复
方法设计原则
方法的设计遵循功能单一原则,也就是说一个方法只实现一个功能,若有多个功能就设计成多个方法。
课后作业
代码如下:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num1,num2;
System.out.println("请输入两个数来分别计算两数之和与两数之积");
System.out.println("请输入第一个数:");
num1 = input.nextInt();
System.out.println("请输入第二个数:");
num2 = input.nextInt();
int result1 = add(num1,num2);
System.out.println("两数之和为:"+result1);
int result2 = mul(num1,num2);
System.out.println("两数之积为:"+result2);
max(num1,num2);
}
public static int add(int num1,int num2){
return num1 + num2;
}
public static int mul(int num1,int num2) {
return num1 * num2;
}
public static void max(int num1,int num2) {
int []score = new int[]{num1,num2};
int m = score[0];
for (int i = 0; i < score.length; i++) {
if (score[i]>m) {
m = score[i];
}
}
System.out.println("两数之间较大的数为:"+m);
//if(num1>num2){
//return num1;
//}else{
//return num2;
//}
}
}
运行结果如下:
评论