零基础学Java-基础语法篇day5(方法)

方法(method)具有 一段独立功能的代码块,不调用就不执行。
方法需要先定义才调用

方法的定义和调用

定义:

方法与方法之间是平级关系,不能嵌套定义。

public static void 方法名(){
//方法体
}

调用
方法名( );
实例:

public class Demo1Method {
    public static void main(String[] args) {
        eat();
    }
    public static void eat(){
        System.out.println("吃饭");
        study();
    }
    public static void study()
    {
        System.out.println("学习");
    }
}

案例:
需求:
设计一个方法method,方法中定义一个变量,判断这个变量是技术还是偶数,并在main中调用method。

public class Demo2Method {
    public static void main(String[] args) {
        method();
    }
    public static void method() {
        int number =10;
        if(number%2==0)
        {
            System.out.println("偶数");
        }
        else
        {
            System.out.println("奇数");
        }
    }
}

打印结果:
偶数

带参数方法的定义和调用

定义:
格式1:

public static void 方法名(参数)   {
}

格式2:

public static void 方法名(数据类型 变量名){

}

格式3:

public static void 方法名(数据类型 变量名1,数据类型 变量名2......{

}

方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错。
方法定义时,多个参数之间使用(,)分隔

调用:
格式1:
方法名(参数);
格式2:
方法名(变量名/常量值);
格式3:
方法名(变量名1/常量值1,变量名2/常量值2);

实例:
奇偶判断

public class Demo2Method {
    public static void main(String[] args) {
        method(10);
    }
    public static void method(int number) {
        if(number%2==0)
        {
            System.out.println("偶数");
        }
        else
        {
            System.out.println("奇数");
        }
    }
}
形参和实参

形参(形式参数):方法定义中的参数
实参(实际参数):方法调用中的参数

案例:
设计一个方法用于打印n到m之间所有的奇数

public class Demo3Test {
    public static void main(String[] args) {
    print(20,30);
    }
    public static void print(int n,int m) {
        System.out.println(n+"到"+m+"之间的奇数为");
        for (int i = n; i <=m ; i++) {
            if(i%2==1)
            {
              System.out.println(i);
            }
        }
    }
}

打印结果:

20到30之间的奇数为
21
23
25
27
29

带返回值放法的定义和调用

定义:
格式:

public static 数据类型 方法名(参数){
return 数据;
}

调用:
格式:

数据类型 变量名=方法名(参数);

实例:
求两个数的和

public class Demo4Test {
    public static void main(String[] args) {
      int sum=add(10,20);
        System.out.println(sum);
    }
    public static int add(int a,int b)
    {
        int c=a+b;
        return c;
    }
}

打印结果:
30

放法的通用格式

格式:

public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
方法的注意事项
  • 方法不能嵌套语句
  • 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写,如果写return,后面不可以有具体的值。
  • return下面,不能编写代码,因为永远执行不到。
    实例:
import java.sql.SQLOutput;

public class Demo3Test {
    public static void main(String[] args) {
    print(20,10);
    }
    public static void print(int n,int m) {
        if(m<n)
        {
            System.out.println("您的数据有误请检查");
            return;//可用于结束方法,将方法从站中弹出,该过程称之为方法的弹栈
        }
        System.out.println(n+"到"+m+"之间的奇数为");
        for (int i = n; i <=m ; i++) {
            if(i%2==1)
            {
              System.out.println(i);
            }
        }
    }
}

打印结果:
您的数据有误请检查

方法重载

方法名相同,参数也完全相同,称为方法的重复定义,是一种冲突性错误。 调用方法的时候,Java虚拟机会通过不同的参数来区分方法。

同一个类中,定义了多个同名的方法,但是每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。跟返回值无关。

方法的参数传递

基本类型:
方法的形参在内存中是变量,传递的是具体数值

实例:

public class Demo5Method {
    public static void main(String[] args) {
        int number=100;
        System.out.println(number);
        change(number);
        System.out.println(number);
    }
    public static void change(int number)
    {
         number=200;
    }
}

打印结果:
100
100
引用类型:
如果一个方法参数传递的引用数据类型,那么传递的是该引用数据类型所记录的内存地址
即实参和形参指向同一个内存地址

public class Demo6Method {
    public static void main(String[] args) {
        int[] arr = {10,20,30};
        System.out.println(arr[1]);
        change(arr);
        System.out.println(arr[1]);
    }
    public static void change(int arr[])
    {
        arr[1]=10;
    }
}

打印结果
20
10

案例1:

设计一个方法用于数组遍历,要求遍历结果在一行,样例(11, 22, 33, 44, 55)。

import java.sql.SQLOutput;

public class Demo7Method {
    public static void main(String[] args) {
        int [] arr={11,22,33,44,55};
        printArray(arr);
    }
    public static void printArray(int[] arr)
    {
        System.out.print("(");
        for (int i = 0; i < arr.length ; i++) {
            if(i== arr.length-1)
            {
                System.out.println(arr[i]+")");
            }
            else
            {
                System.out.print(arr[i]+", " );//不换行的输出语句
            }
        }
    }
}
案例2:

用方法找出数组的 最大值和最小值
return只能返回一个结果。

import java.sql.SQLOutput;

public class Demo7Method {
    public static void main(String[] args) {
        int [] arr={3,22,4,33,6};
        int [] maxAndmin=getMaxandMin(arr);
        System.out.println(maxAndmin[0]);
        System.out.println(maxAndmin[1]);
    }
    public static  int[] getMaxandMin(int[] arr)
    {
        int max=arr[0];
        int min=arr[0];
        for (int i = 1; i < arr.length ; i++)
        {
            if (arr[i] > max)
            {
                max = arr[i];
            }
        }
        for (int j = 1; j <arr.length; j++)
        {
            if(arr[j]<min)
            {
                min=arr[j];
            }
        }
        int[]  maxandmin={max,min};
        return maxandmin;
    }
}

打印结果:
33
3

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值