(Java笔记) 方法的定义和使用

第一章 方法

1.1 什么是方法

方法就是一个功能模块的集合。将很多行代码放置在一组{} 中,形成一个代码块。

1.2 为什么要使用方法

提高代码复用性

提高代码维护性

提高代码延展性

1.3 如何使用方法

1.3.1 方法的声明

//[]内可写可不写 {内必须写}
[修饰符] [static] {void|数据类型} 方法名称([参数列表]){
	执行语句;
}
public static void method(){
	System.out.println("这是我的第一个方法");
}

1.3.2 方法的使用

public class Method01 {
	public static void main(String[] args) {
		//告诉jvm 去执行method方法
		method();
	}
	public static void method() {
		System.out.println("我的第一个方法");
	}
}

1.3.3 方法的命名规则

遵循标识符命名规则 首字母小写 驼峰原则 其他单词首字母大写

1.4 参数列表

方法可以接收参数完成方法

	public static void method(int n)

参数列表声明在方法名后的小括号中,可以声明0个或者是多个。

参数的注意事项:

​ 方法声明的参数为形式参数 只在方法内有效

​ 调用进入的参数为实际参数 不只在方法内有效

​ 方法声明的参数列表中只存在声明 不需要初始化就可以使用

​ 方法调用者而言。在调用方法时不能只看方法名称,而且还需要查看方法的参数列表

​ 在一个类中确定方法通过方法签名完成。方法签名(方法名称+参数列表)

​ 对于参数列表而言,具体的参数类型、个数、顺序都有一定的要求,要求取决于业务逻辑

变量的分类

变量的三要素:数据类型、变量名、生命周期(作用范围)。

按照变量声明的位置的不同,将变量分为局部变量, 成员变量(全局变量、对象变量、实例变量)

局部变量:

​ 定义在方法中或者是代码块中的变量,称之为局部变量,局部变量的生命周期只能在声明的{} 中有
​ 效。出了这个位置就没有任何效果。方法的参数列表中的变量属于当前方法的局部变量。

优势:

​ 1:缩减了变量的生命周期。
​ 2:提高内存的使用率,降低内存开销

成员变量:

​ 声明在类中,方法外的变量称之为成员变量。

成员变量可以不初始化就能够直接使用:

​ 所有的整数(byte、short、int、long) ----> 默认值是0

​ 所有的小数(float、double) -----> 默认值是0.0

​ 字符类型(char) -----> 默认值是空格 ( \u0000 )

​ boolean 类型 ------> 默认值是false

​ 所有的引用类型的默认值 ------> 默认值是null

1.5 返回值

用return语句返回给调用位置的值

被调用的方法可以将自己最后的计算结果返回给调用处,方便后续的业务逻辑执行。返回值对于某些方
法而言是极其有必要的。

public class Method06 {
    public static void main(String[] args) {
        int r = 10;//1:
        double area = getCircleArea(r);//2 //8
    }
    public static double getCircleArea(int r) {//3
        double pi = 3.14;//4
        double area = pi*r*r;//5
        System.out.println("半径"+r+"的圆的面积是:"+area);//6
        return area;//7
	}
}

1.6 如何定义方法

尽可能功能单一

目的是提高代码复用性

多练习

1.7 方法的重载

方法可以重名 java判定方法重复是名字和参数两者一起判定的。

两同三不同:同类 同名 参数列表不同(个数、类型、顺序) 注意返回类型和重载无关。

jvm中是名字和参数加返回值三者判定。

1.8 递归

递归是一种编程技巧,程序中自己调用自己。在递归程序中最重要的问题是:何时出递归程序。
在递归程序中存在一个出口–>递归头。
递归程序的最大优势在于编写时简单。

阶乘递归

public static int fun(int n) {
    if(n==1) {
    	return 1;
    }
	return fun(n-1)*n;
}

斐波那契递归

public static int method(int n) {
    if(n==1||n==2) {
    	return 1;
    }
    return method(n-1)+method(n-2);
}

递归特别慢

优化递归

     public static int fun(int n,int a){
            if(n==1)
                return a;
            return fun(n-1,a*n);
            //创建个参数把值带到下层递归 这样就不用等待返回
        }
    public static int fun(int n,int a){
           if(n==1)
               return a;
           return fun(n-1,a*n);
           //创建个参数把值带到下层递归 这样就不用等待返回
       }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值