Java基础知识总结(二):方法

1.方法使用

  • 方法:若干语句的功能集合
  • 定义格式
public class 方法名称(){
	方法体;
}
  • 调用格式
方法名称();
  • 注意事项
  • 方法定义先后顺序无所谓
  • 方法不能在方法内部进行二次定义
  • 方法定义之后,不能自己执行,需要调用执行
...
public static void main(String[] args) {
        print();//调用
    }
	//定义方法
    private static void print(){
        for(int i=0;i<5;i++){
            for(int j=0;j<8;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
...
  • 参数:进入方法的数据.
  • 返回值:从方法返回的数据
  • 定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
	方法体;
	return 返回值;
}
  • 修饰符:现阶段为public static
  • 返回值类型:方法最终产生的数据结果
  • 方法名称:方法名
  • 参数类型:进入方法的数据类型
  • 参数名称:进入方法的数据对应变量名称,多个参数组件使用逗号连接
  • return:停止当前方法 ; 将返回值返还给调用位置
  • return之后"返回值":必须与方法名称前面的返回值类型对应

2.方法调用

  • 单独调用,

  • 方法名称(参数)

  • 打印调用

  • System.out.println(方法名(参数));

  • 赋值调用

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

...
public static void main(String[] args) {
		//单独调用和赋值调用
        int sum=getSum(5,6);
        //打印调用
        System.out.println(sum);
    }
	//求和
    public static int getSum(int a,int b){
        return a+b;
    }
  • 方法调用流程
    在这里插入图片描述

  • 有参数和无参数

  • 有参数,括号中有内容,一个方法需要一些数据条件,才能完成任务

  • 无参数:小括号留空,方法不需要传入参数

public static void main(String[] args) {
        printCount(10);
    }

    /*
    三要素
    返回值类型:只是进行一大堆打印操作而已,没有计算,也没有结果要告诉调用处
    方法名称:printCount
    参数列表:到底要打印多少次?必须告诉我,否则我不知道多少次,没法打印。次数:int
     */
    public static void printCount(int num) {
        for (int i = 0; i < num; i++) {
            System.out.println("Hello, World!" + (i + 1));
        }
    }
  • 注意事项
  1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
  2. 方法定义的前后顺序无所谓。
  3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
  4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
  5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
  6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
  7. 对于void方法当中最后一行的return可以省略不写。
  8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。

3.方法重载

  • 基本使用
  • 方法重载:多个方法的名称一样,参数列表不一样
  • 相关因素
  1. 参数个数不同
  2. 参数类型不同
  3. 参数的多类型顺序不同
  • 无关元素
  1. 与参数的名称无关
  2. 与方法的返回值类型无关
  • 参数列表:个数不同,数据类型不同,顺序不同。
  • 重载方法调用:JVM通过方法的参数列表,调用不同的方法。
...
public static void main(String[] args) {

        System.out.println(sum(10, 20)); // 两个参数的方法
        System.out.println(sum(10, 20, 30)); // 三个参数的方法
        System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法


        sum(10, 20);
    }

    public static int sum(int a, double b) {
        return (int) (a + b);
    }

    public static int sum(double a, int b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b) {
        System.out.println("有两个方法参数执行");
        return a + b;
    }



    public static int sum(double a, double b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b, int c) {
        System.out.println("有3个参数的方法执行!");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        System.out.println("有4个参数的方法执行!");
        return a + b + c + d;
    }

...
  • 重载判断

    public static void open(){} // 正确重载
    public static void open(int a){} // 正确重载
    static void open(int a,int b){} // 代码错误:和第8行冲突
    public static void open(double a,int b){} // 正确重载
    public static void open(int a,double b){} // 代码错误:和第6行冲突
    public void open(int i,double d){} // 代码错误:和第5行冲突
    public static void OPEN(){} // 代码正确不会报错,但是并不是有效重载
    public static void open(int i,int j){} // 代码错误:和第3行冲突
 

鄙人知识浅薄,错误之处,还请及时指正,不胜感激!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Siri_only

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值