目录
方法的重载
练习1:
练习1: 数组遍历
练习2: 数组的最大值
练习3:
练习4: 复制数组
基本数据类型和引用数据类型
方法的重载
Java虚拟机会通过参数的不同来区分同名的方法
练习1:
public class Test4 {
public static void main(String[] args) {
//调用方法
// compare(10,30);
// compare((byte) 10,(byte) 20);
short b1 = 10;
short b2 = 20;
compare(b1,b2);
}
//会把相同功能的方法名起成一样的名字
//好处1 : 定义方法的时候可以不用那么多的单词了
//好处2 : 调用方法是时候也不需要那么麻烦了
public static void compare(byte b1, byte b2) {
System.out.println("byte");
System.out.println(b1 == b2);
}
public static void compare(short s1, short s2) {
System.out.println("short");
System.out.println(s1 == s2);
}
public static void compare(long n1, long n2) {
System.out.println("long");
System.out.println(n1 == n2);
}
public static void compare(int i1, int i2) {
System.out.println("int");
System.out.println(i1 == i2);
}
}
练习1: 数组遍历
需求:设计一个方法用于数组遍历 ,要求遍历的结果是在一行上的.例如 : [11, 22, 33, 44, 55]
分析:
定义方法用于数组的遍历 1. 我要干嘛? 遍历数组 2. 我做这件事需要什么才能完成? 数组 3. 方法的调用处是否需要继续使用结果? 不需要返回值
public class Test5 {
public static void main(String[] args) {
//1. 定义数组
int[] arr ={11,22,33,44,55};
printArr(arr);
}
public static void printArr(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length -1){
System.out.print(arr[i]);
}else {
System.out.print(arr[i] + ",");
}
}
System.out.println("]");
}
}
扩展:
练习2: 数组的最大值
设计一个方法求数组的最大值,并将最大值返回
分析:
1. 我要干嘛? 求最大值
2. 我干这件事情,需要什么才能完成? 数组
3. 是否需要返回值? 是
package com.itheima.test;
public class Test6 {
public static void main(String[] args) {
//1. 定义数组
int[] arr ={1,2,9 ,4,5};
//2. 调用方法求最大值
int max = getMax(arr);
System.out.println(max);
}
public static int getMax(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i]>max){
max = arr[i];
}
}
return max;
}
}
练习3:
定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处
分析:
1. 我要做什么? 判断一个数是否存在
2. 我干这件事情,需要什么才能完成? 数组
3. 调用处是否需要继续使用结果? 返回 true false
public class Test6 {
public static void main(String[] args) {
//1. 定义数组
int[] arr ={16,2,9 ,4,522,7,3};
//2. 判断数字在数组中是否存在了
boolean flag = contains(arr,7);
System.out.println(flag);
}
public static boolean contains(int[] arr, int number){
for (int i = 0; i < arr.length; i++) {
if(arr[i] == number){
return true;
}
}
//当数组里面所有的数据全部都比较完毕之后,才能断定
return false;
}
}
练习4: 复制数组
分析在代码的注释里面
public class Test8 {
public static void main(String[] args) {
//1. 定义数组
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
//2. 调用方法拷贝数据
int[] copyArr = copyOfRange(arr, 3, 7);
//3.遍历copyArr
for (int i = 0; i < copyArr.length; i++) {
System.out.print(copyArr[i] + " ");
}
}
//将数组arr中从索引 from (包含 from) 开始,到索引 to 结束(不包含 to) 的元素复制到新的数组中
public static int[] copyOfRange(int[] arr, int from, int to) {
//1. 定义数组
int[] newArr = new int[to - from];
//2. 把原始的数组arr中的from 到 to 上对应的元素,直接拷贝到newArr中
//伪造变量
int index = 0;
for (int i = from; i < to; i++) {
//格式:数组名[索引] = 数据值
newArr[index] = arr[i];
index++;
}
//3. 把新数组返回
return newArr;
}
}
基本数据类型和引用数据类型