Java奠基方法的讲解与使用
Posted 亦世凡华、
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java奠基方法的讲解与使用相关的知识,希望对你有一定的参考价值。
目录
方法概述
方法是程序中最小的执行单元,在实际开发中会将重复的具有独立功能的代码抽取到方法中,这样可以提高代码的复用性和可维护性。
方法的定义与调用
在Java中定义方法的格式都是相同的,不过根据具体的需要可以抽离成以下三种形式方法,如下:
最简单的方法定义,格式如下:
public static void 方法名() 方法体(就是打包起来的代码) ;
public class Main
public static void main(String[] args)
// 调用say方法
say();
// 定义一个方法
public static void say()
System.out.println("你好,世界!"); // 你好,世界!
带参数的方法定义,格式如下:
public static void 方法名(参数1,参数2....) 方法体 ;
求和
public class Main
public static void main(String[] args)
// 调用getSum方法
getSum(10,20); // 实参,方法调用中的参数
// 定义一个方法
public static void getSum(int n,int m) // 形参,方法定义中的参数
int sum = n + m;
System.out.println(sum);
打印原数组
public class Main
public static void main(String[] args)
// 将数组进行打印在控制台
int[] arr = 12,14,15,16,17,18;
// 调用方法
printArr(arr); // [12,14,15,16,17,18]
// 定义一个方法
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.print("]");
带返回值的方法定义,格式如下:
public static 返回值类型 方法名 (参数) 方法体; return 返回值; ;
如果想在调用处要根据方法的结果,去编写另外一段代码的逻辑,为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法。方法的返回值其实就是方法运行的最终结果。
数组求和
public class Main
public static void main(String[] args)
// 直接调用,如果是带有返回值的方法,是没有任何结果的
getSum(10,20,30);
// 赋值调用
int result = getSum(10,20,30);
System.out.println(result); // 60
// 输出调用
System.out.println(getSum(10,20,30)); // 60
// 定义一个方法
public static int getSum(int n,int m,int x)
int sum = n + m + x;
return sum;
数组求最大值
public class Main
public static void main(String[] args)
// 将数组进行打印在控制台
int[] arr = 12,14,15,16,17,18;
// 调用方法
int result = getMax(arr);
// 打印
System.out.println(result); // 18
// 定义一个方法
public static int getMax(int[] arr)
int max = arr[0];
for (int i = 1; i < arr.length; i++)
if(max<arr[i])
max = arr[i];
return max;
判断数组是否存在元素
public class Main
public static void main(String[] args)
// 定义数组
int[] arr = 12,14,15,16,17,18;
// 判断一个数字是否在数组中存储
boolean result = decide(arr,10);
// 打印结果
System.out.println(result); // false
// 定义一个方法
public static boolean decide(int[] arr,int number)
for (int i = 0; i < arr.length; i++)
if(arr[i] == number)
return true;
// 当数组中的所有数据比较完毕之后,还是没有任何结果则执行以下语句。
return false;
拷贝数组
public class Main
public static void main(String[] args)
// 定义数组
int[] arr = 12,14,15,16,17,18;
// 调用方法拷贝数据
int[] copyArr = copyArr(arr,1,4);// 14 15 16
// 遍历copyArr
for (int i = 0; i < copyArr.length; i++)
System.out.print(copyArr[i]+" ");
// 定义一个方法
public static int[] copyArr(int[] arr,int from,int to)
// 定义数组
int[] newArr = new int[to - from];
// 伪造索引
int index = 0;
for (int i = from; i < to; i++)
newArr[index] = arr[i];
index++;
// 将新数组返回
return newArr;
注意:
方法不调用就不执行
方法与方法之间是平级关系,不能互相嵌套定义
方法的编写顺序和执行顺序无关
方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写。如果要编写return,后面不能跟具体的数据。return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
方法的重载
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。
简单理解:同一个类中,方法名相同,参数不同的方法,与返回值无关。
参数不同:个数不同、类型不同、顺序不同。
public class Main
public static void main(String[] args)
// 调用方法
compare(1,2);
compare((byte)1,(byte)2);
compare((short)1,(short)2);
compare(1.1,2.2);
// 定义一个方法
public static void compare(byte b1,byte b2)
System.out.println("byte");
public static void compare(short s1,short s2)
System.out.println("short");
public static void compare(int i1,int i2)
System.out.println("int");
public static void compare(double d1,double d2)
System.out.println("double");
方法的值传递
传递基本数据类型时,传递的是真实的数据,形参的改变不影响实际参数的值:
public class Main
public static void main(String[] args)
int number = 100;
System.out.println("调用change方法前:"+number);// 100
change(number);
System.out.println("调用change方法后:"+number);// 100
// 定义一个方法
public static void change(int number)
number = 200;
如果想改变number的值,需要将方法中的number的值return出去来修改main方法的number内存值
传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值:
public class Main
public static void main(String[] args)
int[] arr = 10,130,12,14,144;
System.out.println("调用change方法前:"+arr[1]);// 130
change(arr);
System.out.println("调用change方法后:"+arr[1]);// 200
// 定义一个方法
public static void change(int[] arr)
arr[1] = 200;
以上是关于Java奠基方法的讲解与使用的主要内容,如果未能解决你的问题,请参考以下文章