目录
🐡定义一个方法,将数组从索引from到索引to拷贝到新数组中
♦️方法的概念
什么是方法?
方法是将一组完成特定功能的代码整合在一起,以达到简化开发,减少代码耦合,提高代码复用性的结构,类似与C语言中的函数。方法是程序中最小的执行单元,可降低代码的重复性。
如用代码表示每种植物发射炮弹的过程,假设以下植物每分钟都发射20枚炮弹,即可用调用方法表示每分钟发射枚炮弹。
方法的优点
- 可以提高代码的复用性
- 可提高代码的可维护性
方法的格式
♦️方法的调用
🐡最简单的方法的定义和调用
例题:在方法里面定义两个变量并求和
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); Getsum();//调用方法 } //定义一个方法 public static void Getsum() { int m=10; int n=20; System.out.println(m+n); } }
🐡带参数的方法的定义和调用
计算两个参数之和
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int m=sc.nextInt(); int n=sc.nextInt(); Getsum(m,n);//调用方法 } //定义一个方法 public static void Getsum(int m,int n) { System.out.println(m+n); } }
定义方法,求长方形的周长
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int len=sc.nextInt(); int wide=sc.nextInt(); GetLength(len,wide);//调用方法 } //定义一个方法 public static void GetLength(int len,int wide) { System.out.println((len+wide)*2); } }
求圆的面积(radious)
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); double radious=sc.nextDouble(); double PI=3.14; Circle(radious,PI);//调用代码 } //定义一个代码 public static void Circle(double radious,double PI) { System.out.println(radious*radious*PI); } }
🐡带返回值的方法的定义和调用
格式:
例题: 比较两个长方形的面积
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int len1=10; int len2=15; int wide1=10; int wide2=15; int i1=Rectangle(len1,wide1); int i2=Rectangle(len2,wide2); if(i1>i2) { System.out.println("i1"); } else { System.out.println("i2"); } } public static int Rectangle(int len,int wide) { return (len*wide); } }
♦️方法的重载
🐡什么是方法的重载?
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法。
🐡方法重载判断
要点:
示例:使用方法重载的方法,比较两个数的大小
public class Main {
public static void main(String[] args) {
int i1=10;
int i2=20;
compare(i1,i2);
}
public static void compare(int i1,int i2)
{
System.out.println(i1==i2);
}
public static void compare(byte b1,byte b2)
{
System.out.println(b1==b2);
}
public static void compare(double d1,double d2)
{
System.out.println(d1==d2);
}
}
♦️方法练习(常见题型)
🐡遍历数组打印数组元素,要求打印的结果在一行
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
int[] arr={11,22,33,44,55};
Printnum(arr);
}
public static void Printnum(int[] arr)
{
int i=0;
System.out.print("[");
for(i=0;i<arr.length;i++)
{
if(i<arr.length-1) {
System.out.print(arr[i]+",");
}
if(i==arr.length-1)
{
System.out.print(arr[i]);//System.out.print表示打印出来的元素不换行
}
}System.out.print("]");
}
}
注意点:System.out.println和System.out.print的区别:
前者用于输出结果换行,后者用于输出结果不换行。
🐡遍历数组并返回最大值
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = {11, 22, 33, 44, 55};
int max = Getmax(arr);
System.out.println(max);
}
//思考步骤:
//第一步:思考函数是否有返回值? 有
//第二步:确定函数传参
//第三步:将结果返回,并打印结果
public static int Getmax(int[] arr) {
int i = 0;
int max=arr[0];
for (i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max=arr[i] ;
}
}
return max;
}
}
🐡定义一个方法,判断数组中是否包含某个数,并返回结果
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] arr = {11, 22, 33, 44, 55};
int n=sc.nextInt();//输入一个想查询的数
boolean result= isGet(arr,n);
System.out.println(result);
}
//思考步骤:
//第一步:思考函数是否有返回值? 有
//第二步:确定函数传参,确定函数的返回结果,有就返回true,没有就返回false
//第三步:将结果返回,并打印结果
public static boolean isGet(int[] arr,int n)
{
boolean result;;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == n) {
return true;
}
}
return false;
}
}
🐡定义一个方法,将数组从索引from到索引to拷贝到新数组中
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Reading from and to indices
int from = sc.nextInt();
int to = sc.nextInt();
// Original array
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
// Calling the method to copy the specified range
int[] copyarr = copyofRange(arr, from, to);
// Printing the copied array
for (int i = 0; i < copyarr.length; i++) {
System.out.println(copyarr[i]);
}
}
// Method to copy a range of the original array
public static int[] copyofRange(int[] arr, int from, int to) {
// Creating a new array for the specified range
int[] newarr = new int[to - from];
// Copying the elements from the original array to the new array
for (int index = 0; index < newarr.length; index++) {
newarr[index] = arr[from + index];
}
return newarr; // Return the new array
}
}