day02 方法

本学习内容来着b站:黑马程序员

注:打卡的第二天,一天学习下来,感觉自己会了,但是让我仔细回忆,还是记不起来几条,应该是自己代码敲得太少了,所以我愈发觉得写博客的重要性,尽管它会占用我一部分时间,毕竟现在我的时间不多了,但是我相信付出一定会有收获。如果你看到了这篇文章能对你有所帮助,给我点个赞或者评论也是对我更新的最大动力!感谢,内容如果有错误,欢迎各位兄弟姐妹批评指正!!!

一:方法的定义

方法是一种语法结构,它可以把一段代码封装成一个功能,方便被重复调用,以此来提高代码的复用性,提高开发效率,让程序逻辑更清晰。

二:学习方法要明白几点

1.方法的格式

1.1方法定义的完整格式

 

 代码实现:

/*
目标:能够说出使用方法的优点
        1.可以提高代码的复用性和并发效率
        2.让程序逻辑更清晰
 */
public class MethodDemo1 {
    public static void main(String[] args) {
        //陈工
        int c1=sum(10,30);
        System.out.println(c1);

        //小工
        int c2=sum(310,30);
        System.out.println(c2);

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

 1.2方法的其他写法

 方法如果不需要返回结果,不需要接收参数, 用void

代码实现:

public class MethodDemo3 {
    public static void main(String[] args) {

        //目标:学会方法定义的其他形式,并理解其流程
        print();

    }
    //无参数无返回值的方法
    public static void print(){
       //快捷键Ctrl +alt+t
        for (int i =0; i <=500;i++) {
            System.out.println("我爱你");
        }
    }
}

2.方法的调用

方法必须要被调用,否则不会被执行。调用格式:方法名称();

代码实现:

public class MethodDemo2 {
    public static void main(String[] args) {
        //目标:学习方法的完整定义格式,并理解其调用和执行流程
        int c = add(100,200);
        System.out.println("和是:" + c);

        System.out.println("=====================");
        int c1 =add(555,666);
        System.out.println("和是:" + c1);

    }
    public static  int add(int a, int b){
        int c = a+b;
        return c;
    }
}

2.1有返回值的方法调用

有返回值方法调用有三种:1.赋值调用:定义一个变量接收方法的结果

                                            2.输出调用:放在输出语句中调用

                                            3.直接调用:方法还是会执行,只是不要返回结果

2.2无返回值方法调用

无返回值方法调用 就直接调用以下 。

以上实现在3.方法注意事项的代码

2.3方法调用的流程

一个一个方法执行出去,直到内存清空

 

3.方法的注意事项

代码实现:

/*
1、方法的编写顺序无所谓
2、方法与方法之间是平级关系,不能嵌套定义
3、方法的返回值类型是void(无返回值),方法内不能使用return返回数据,如果方法的返回值类型
写了具体类型,方法内部则必须使用return返回对应类型的数据。
4、return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
5、方法不调用就不执行,调用时必须严格匹配方法的参数情况。
6、有返回值的方法调用时就可以选择定义变量接收结果,或者直接输出调用
甚至直接调用,无返回值方法的调用只能直接调用一下。
 */
public class MethodAttentionDemo4 {
    public static void main(String[] args) {
        //选择定义变量接收结果
        int a = sum(10,20);
        System.out.println(a);
        //输出调用
        System.out.println(sum(10, 20));
        //*直接调用 (只是调用方法,让方法跑一下,但是方法返回的结果它不要了)
        sum(10,20);
        //无返回值方法的调用只能直接调用一下。
        print();
    }
    public static void print(){
        System.out.println("Hello world");
        System.out.println("Hello world");
        System.out.println("Hello world");
    }
    public static int sum(int a, int b){
        return a+b;
    }
}

4.方法的重载

 4.1方法重载的识别技巧

4.2方法重载的好处:

对于相似功能的业务场景:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计

 代码实现demo1:

public class MethodDemo1 {
    public static void main(String[] args) {
        //目标:是识别方法重载的形式,并理解其调用的流程,最后需要知道使用方法重载的好处。
        give();
        give("杭州");
        give("杭州 ",99);
    }
    public static void give(){
        System.out.println("送一束花给女朋友");
    }
    public static void give(String location){
        System.out.println("送一束花在" + location +"给女朋友");
    }
    public static void give(String location,int number){
        System.out.println("送"+ number +"束花在" + location +"给女朋友");
    }
}

代码实现demo2: 

public class MethodDemo2 {
    //新方法
    public static void open(){}
    //重载方法
    public static void open(int a){}
    //重载方法
    public static void open(int a, int b){}
    //重载方法
    public static void open(double a, int b){}
    //重载方法
    public static void open(int a, double b){}
    //重复方法
    //public static void open(int i, double b){}
    //新方法
    public static void OPEN(){}


}

5.方法的参数传递机制

代码实现: 

public class MethodDemo1 {
    public static void main(String[] args) {
        //目标:理解Java的基本类型的参数传递:值传递
        int a = 10;//实参a
        change(a);
        System.out.println(a);//10
    }
    public static void change(int a){//形参a
        System.out.println(a);//10
        a = 20;
        System.out.println(a);//20

    }
}

代码实现: 

public class MethodDemo2 {
    public static void main(String[] args) {
        //目标:理解引用类型的参数传递机制:值传递,区分其不同点
        int[] arrs = {10,34,55};
        System.out.println(arrs[1]);//34
        change(arrs);
        System.out.println(arrs[1]);//555
    }
    public static void change(int[] arrs){
        System.out.println(arrs[1]);//34
        arrs[1] = 555;
        System.out.println(arrs[1]);//555
    }
}

6. return关键字

代码实现: 

public class ReturnDemo {
    public static void main(String[] args) {
        //目标:明确return关键字的作用
        System.out.println("main开始");
        chu(10,0);
        System.out.println("main结束");
    }
    public static void chu(int a,int b){
        if(b==0){
            System.out.println("您输入的数据有问题,除数不能为0!!!");
            return;//立即跳出当前方法,并结束当前方法的执行。
        }
        int c = a / b;
        System.out.println("结果是:" + c);
    }
}

 三、总结

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值