方法就是很多条语句的集合,把这些代码放到方法中去,然后就可以多次使用这个方法
方法目的:代码复用,使程序更加简短清晰,提高开发效率
public static void main(String[] args) {
// print_01();
// print_02(5);
int result = sum(12, 120);
System.out.println(result);
}
// 1 需求 : 向控制台打印1-10
public static void print_01() {
for (int i = 1; i < 11; i++) {
System.out.println(i);
}
}
// 2 需求 : 向控制台打印1-N的值
// 参数列表中的变量是局部变量
public static void print_02(int n) {
for (int i = 1; i <= n; i++) {
System.out.println(i);
}
}
// 3 需求 : 计算 n~m的累加加和,并返回
// ps : n和m均为整数,且 m > n
public static int sum(int n, int m) {
int sum = 0;
for (int i = n; i <= m; i++) {
sum += i;
}
return sum;
}
// 4 需求 : 给定三个整数 , 返回其中最大的一个数, ps 你可以假设 三个数不相等
public static int max(int a, int b, int c) {
if (a > b && a > c) {
return a;
} else if (b > a && b > c) {
return b;
} else {
return c;
}
}
方法唯一性:
方法名和参数
方法重载:overload 方法名相同,参数列表不同
列表不同分为:个数不同和类型不同(或的关系)
Java Runtime Data Area : java运行时区域,一般叫JVM内存
*
A. 程序计数器 :
* 一块较小的内存区域.作用可以看做是当前程序执行的位置指示器
*
B. 静态区/方法区 :
* 保存程序文件(class文件) 以及静态数据,方法被调用之前,也保存在静态区,内部还有运行时常量池
*
C. VM栈 : 又叫栈内存
* 栈内存是以栈数据结构为模型开辟的一段空间, 特性是先进后出
* 栈 : 是一种数据结构,先进后出,像弹夹
*
D 栈的构成因素
* 栈空间 : 栈内存就是栈空间
* 栈帧 : 栈空间中的每一个栈元素 就叫栈帧(比如 弹夹中的每一个子弹 就叫栈帧)
* 栈底元素 : 第一个放进去的栈帧
* 栈顶元素 : 最后一个放进去的栈帧
E 栈操作
* 压栈 : 就是指把元素放入栈空间的过程
* 弹栈 : 就是把元素弹出去的过程
*
F 栈内存,是用来执行方法的,所有方法的执行,必须在栈内存进行
*
G 本地方法栈 :
* 用来执行一些本地方法,比如hashCode 等 , 模型和操作都和VM栈一致 , 不用管,
*
H 堆内存 :
* 用来保存对象