JAVA基础语法-方法

本文详细介绍了方法的定义、调用及其重要特性,包括参数列表、返回值、命名规范和内存分析。讲解了方法如何提高代码复用性和安全性,并探讨了void与有返回值类型的方法、break、continue和return的区别。还阐述了方法的重载原则及其在多态中的体现,以及递归的概念和优缺点。通过对方法的理解,有助于提升编程效率和代码质量。
摘要由CSDN通过智能技术生成

方法

就是通过{}然后将多行代码组装到一起。他就是个功能模块。

 方法名


        1.遵守标识符的命名规则
        2.驼峰:首字母小写 其他单词首字母大写 剩余全部小写
    参数列表
        个数,顺序,类型

作用 : 实现功能的办法

注意: 
        方法定义在类中方法外,方法本身不能嵌套
        方法不调用不执行

语法 : 
        没有返回值类型的方法
            修饰符 void 方法名(参数列表){
                实现功能的代码段;
                [return;]
            }
        
        有返回值类型的方法
            修饰符 返回值类型 方法名(参数列表){
                实现功能的代码段;
                return 返回值;
            }

优点 : 
        提高了代码的复用性
        提高了程序的安全性

修饰符 : 访问权限修饰符
            目前为 : public static
        方法值 : 方法执行完毕之后是否需需要得到一个结果(值)
            结果值的数据类型 : 就是有返回值类型方法的返回值类型
            void : 没有返回值类型的
        方法名 : 标识符->命名规则|规范
            调用方法需要跟随方法名调用
        
        参数列表 :  功能定义的时候是否存在未知的数据,有可能会改变的数据,如果存在定义在参数列表中
            可以定义参数,可以不定义参数
            参数 :数据类型 参数名,数据类型 参数名..
                相当于局部变量的声明--> 作用域只属于当前的方法 
                数据类型 : 可以为基本数据类型|引用数据类型
        
        {} : 方法体
            具体实现功能的代码段
        
        return : 
            1. 提前结束方法
            2. 带出返回值 -> return 返回值;
       


        方法的调用 : 


            执行方法中的代码
            基础调用 : 方法名(参数列表);
            赋值调用 : 数据类型 变量名 = 方法名(参数列表);
            输出调用 : System.out.println(方法名(参数列表));
            赋值调用与输出调用关注返回值,接收使用了返回值,基础调用调用只是执行方法中的代码没有接收返回值

return : 


        有返回值类型的方法中 : 必须存在return,同时需要带出返回值
            1)提前结束方法  2)带出返回值返回给方法的调用出
        没有返回值类型的方法中 : 可以存在return,但是不能带出返回值
            1)提前结束方法
            
    问 : break,continue,return之间的区别
        1)作用 : break结束终止   continue跳过本次之间进入下一次    return终止返回
        2)应用场景 : break->switch|循环   continue->循环    return ->方法
        
    兼容类型 : 
        1.参数兼容类型 : 
            形参类型 >= 实参类型
        
        2.返回值兼容类型
            接收返回值的变量类型>=方法的返回值类型>= return后面结果的类型

方法的内存分析图:

{}代码块的分类


    局部代码块
        1.定义在方法中的代码块
        2.作用:缩减变量的生命周期,降低了内存效率,提升了内存使用率
    成员代码块
       

变量的分类


    局部变量
        1.定义在方法中,代码块的变量称之为局部变量
        2.定义范围:只能在当前变量的声明位置开始{,一直到所属方法,所属代码块的右括号位置}
    成员变量
        1.定义在方法外,类中的变量称之为成员变量
            //1:找到当前变量所属的类 类名 变量名=new 类名();
VariableTest v = new VariableTest(); // int num =10;
//2:调用 变量名.变量名
System.out.println(v.f);


        局部变量和成员变量的区别:

(1)在类中的位置不同
        成员变量:类中方法外
        局部变量:方法定义中或者方法声明上
    (2)在内存中的位置不同
        成员变量:在堆中
        局部变量:在栈中
    (3)生命周期不同
        成员变量:随着对象的创建而存在,随着对象的消失而消失
        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
    (4)初始化值不同
        成员变量:有默认值
        局部变量:没有默认值,必须定义,赋值,然后才能使用


            
方法


    static
        static-static
            1.类名.方法名  类名.变量名
            2.如果两个内容在同一个类中,则类名可以省略
        static-no-static
            1.要么将非静态的修改静态的
            2.类名 变量名=new 类名();变量名.非静态内容
            3.no-static-no-static
            4.no-static-static
            Scanner input = new Scanner(System.in);
input.nextInt();
Class Variable{
float f;
public static void main(String[] args){
Variable v = new Variable();
System.out.println(v.f);
}
}


返回值


    1.保证当前方法的void所处的位置通过一个数据类型替代,具体的类型有返回值的类型决定。
    2.在方法的最后一条代码中增加return 结果
    public class Test03 {
public static void main(String[] args) {
System.out.println(result);
double n = add(2,3);
System.out.println(n);
}
public static double add(int n1,int n2){
double sum = n1+n2;
return sum;
}
}
    
  

方法的重载 : 


        实现重载的3个条件 : 
            1.一个类中的多个方法
            2.方法名相同
            3.参数列表不同 | 方法签名不同
                参数个数不同
                参数类型不同
                不同类型的参数顺序不同
        方法签名 : 方法的唯一标识
            方法名+参数列表 = 方法签名
        
        重载方法的调用 : 
            根据实参区分
        
    分析 : 
        1.方法的重载与参数名无关
        2.方法的重载与方法的修饰符无关
        3.方法的重载与方法的返回值无关]
    
    总结 : 方法的重载只与方法名与参数列表有关
           方法就是封装的体现
           方法的重载就是多态的一种体现
    
    关于重载方法的面试题 
        1.完全匹配 2.最近最优 转换过程中最近的
            子主题 1
                char->int->long->float->double int->long->float->double

递归 :  (了解)


        方法的内部自己调用自己
        
    优点 : 
        程序设计更简单,简洁
    缺点 : 
        使用不好,极有可能造成内存的溢出
        
    实现组成:
        基线条件|递归头 : 停止自己调用自己的条件
        递归条件|递归体 : 自己调用自己
    
    执行过程 : 
        1.递归前进段 : 不停的自己调用自己
        2.临界条件 : 停止自己调用自己的条件
        3.递归后退段 : 从临界条件开始,不停的将结果返回给上一层

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值