Java中的方法

方法的定义:是一个代码片段,类似于C语言中的函数
1.能够模块化的组织代码,使代码条理清晰,更易于理解。
2.可以使代码被重复使用,可以被随需要调用。

方法必须定义类的内部,方法内部不可以定义函数,要在成员级别
方法的定义语法:
可选的修饰符们 、方法的返回值的类型、 方法的名称(参数列表){
具体语句
}

public static void main(String[] args){
add(2,1);
sub(4,3);
}
public static void add(int a,int b){
System.out.printf("%d",a+b);
}
public static void sub(int a,int b){
System.out.printf("%d",a-b);
}

主函数中
*修饰符:public static
返回值类型:void
方法名称:main
参数列表:(String[] args)

方法的调用:
1.不关心返回值的方法调用
方法名称(实参列表)
2.关心返回值的方法调用(会涉及到整型提升,转化为高等级;需要转化低等级需要专门语句,不可自行转化)

形参(paramaters) 实参(arguments)
关于内存模型:冯诺依曼体系
1.cpu 2.内存 3.输入 4.输出(134部分和2直接打交道)
局部变量、形参在内存中的位置
1、Java中对内存的分配 (运行时期)
1.栈区(stack) 2.堆区 3.方法区
方法调用在内存中发生的事—栈帧(stack frame)
Main ->add ->sub
2.每一次方法调用,都会在栈中产生一个独有栈帧(调用帧),每次方法执行结束,栈帧就会消亡。
Main 形参args 局部变量a/b (存放的不在一个空间内)
3.形参和实参之间的关系是:值拷贝。
值拷贝方法调用过程中:形参的值改变不会影响实参的值。

嵌套调用
关于return出现地方导致得结果
Return在前直接返回,不看后面的结果

方法的重载:
Java编译器是定位一个方法
方法名称+参数列表 唯一确定一个方法
方法重载:方法名称相同,参数列表不同Overload
(返回值类型不影响重载)

递归:本身在Java语法上是没有特殊性
在一个方法中,调用自己本身的方法
解决问题:数学归纳法
递归方法的编写
1、 不建议做过早的栈帧展开
2、 局部原则:站在一个层级不要动,思考问题的解决

  1. 递推公式是什么
  2. 终止条件是什么

总览: 方法method

  1. 语法:如何定义 四部分 //运行时期
  2. 如何调用 名称(实参列表)
  3. 专门学习嵌套调用
    方法的内存模型
  4. 内存区域 栈/堆/方法
  5. 栈帧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值