> 文档中心 > 【Java学习—方法的使用】

【Java学习—方法的使用】

1 数据类型

2 类型转换

3 运算符

4 逻辑控制

5 输入输出


上述是前面写的内容,感兴趣的可以直接点击标题观看,如果对你有帮助的话,那就点个赞吧!😀

正文开始


目录

  • 6 方法的使用
    • 6.1 方法的定义
    • 6.2 方法的定义语法
    • 6.3 方法的调用
      • 6.1.1 方法的调用
      • 6.1.2 方法调用的执行过程
    • 6.4 方法重载

6 方法的使用

6.1 方法的定义

方法就是一个就是一个代码片段,代码片段是什么呢?就是把一段{}内的代码抽出来的片段,类似于C语言中的“函数”。

那么方法的存在是为了什么呢?

  1. 是能够模块化的组织代码(当代码的规模比较复杂的时候)
  2. 可以重复利用这段代码,能够在多个位置使用(复用性)
  3. 让代码更好理解
  4. 直接调用已经写好的方法,不需要自己重复的去写

比如,输出1000到2000年中间所有的闰年,就是一个需要重复调用判断是否是闰年的代码段,这个代码段就可以定义为方法。

上代码

public class Years {    public static void main(String[] args) { for (int i = 1000; i <= 2000 ; i++) {     int ret = year(i);     if(ret > 0){  System.out.println(i + "是闰年");     } }    }    /     * 判断是否是闰年,是闰年返回1,不是闰年返回0     */    public static int year(int i) { if (i % 4 == 0 && i % 100 != 0) {   //普通闰年     return 1; } if (i % 400 == 0) {  //世纪闰年     return 1; } return -1;    }}

6.2 方法的定义语法

public static 返回值类型 方法名称(方法的参数..){    //方法体代码    [return 语句]; //返回值}

返回值类型:要具体看该方法他的作用和功能是什么。具体情况具体分析。

6.3 方法的调用

返回值变量 = 方法名称(参数);

6.1.1 方法的调用

在调用时,要注意:

  1. 方法定义时,参数可以没有,有参数,参数要指定类型。
  2. 方法在定义时,返回值可以没有,但是没有返回值,返回值类型应该写为void。
  3. 方法定义时的参数称为 “形参”, 方法在调用时的参数称为“实参”。
  4. 方法的定义必须在类中,代码书写的位置可以是调用位置的上方或者下方。
  5. Java中没有“函数声明”这样的概念

具体例子可以参考上面的代码。

6.1.2 方法调用的执行过程

基本规则:

  1. 定义方法的时候,不会执行方法的代码。只有在调用的时候才会执行。
  2. 当方法被调用的时候,会将 实参 赋值给 形参
  3. 参数传递完毕后,就会执行方法体代码。
  4. 当方法执行完毕之后(遇到return语句),就执行完毕,回到方法调用位置继续往下执行。
  5. 一个方法可以被多次调用。

关于实参和形参的关系

在Java中,方法的参数传递只有值传递,值传递就是把实参的数据拷贝给形参,对实参没有任何影响。


另外,在方法外部交换两个局部变量的场景在java中根本不存在。

这个问题的解决需要引入数据类型(数组或对象)

看代码

public class Test2 {    public static void main(String[] args) { int[] arr = {10,30}; swapArr(arr); System.out.println("arr[0] = " + arr[0] + ",arr[1] = " + arr[1]);    }    //交换数组内的两个数    public static void swapArr(int[] arr){ int ret = arr[0]; arr[0] = arr[1]; arr[1] = ret;    }}

补充:方法的返回值可有可无,没有返回值的方法使用void声明,在没有返回值的方法中,仍然可以使用return;表示提前结束方法的调用。

6.4 方法重载

方法重载发生“同一个类中”,定义了若干个方法名称相同,参数列表不同==(参数的类型或者个数不同)==的一组方法,与返回值无关。这样的一组方法称为重载方法

注意:

public static int add(int a, int b){    //方法体代码}public static double add(int a, int b){    //方法体代码}

这两个方法并不是重载方法。只是返回类型不同。不要和方法重载混淆


要是对大家有所帮助的话,请帮我点个赞吧。

【Java学习—方法的使用】 《新程序员》:云原生和全面数字化实践 【Java学习—方法的使用】 50位技术专家共同创作,文字、视频、音频交互阅读毒蛇网