ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java-方法

2021-04-13 20:04:42  阅读:97  来源: 互联网

标签:Java int sum static return 方法 public


// 1.Java方法
public static void main (String args[]){

	int res = sum(1, 2);
	// int res = HelloWorld.sum(1, 2);
	System.out.println(res);
	
}

// 求和
public static int sum(int a, int b){
	return a + b;
}

注:

方法体中不能再定义方法(不能嵌套)

方法名命名规范
getData 驼峰命名

形参是局部变量

方法调用
类名.方法名()
如果是static方法, 类名可以省略(默认在当前类中检索)

在同一个作用域中, return后面不能编写代码

方法调用的时候是值传递

方法内存分配
1.方法在定义时, 不会分配内存空间。只有在调用的时候, 才会分配内存空间
2.在JVM中,内存主要划分为三个区
 - 方法内存区
 - 堆内存
 - 栈内存

方法代码片段存储在方法区中(方法代码片段属于.class字节码文件的一部分)
- 方法区最先有数据, 方法可以重复被调用
- 每次调用该方法, 需要分配内存, 在栈区分配方法运行所需的内存空间(入栈), 方法执行结束之后, 该方法的内存空间会被释放(出栈)
- 局部变量在方法体中声明, 存储在栈中

// 2.方法重载机制(overload)
方法重载: 在同一个类中, 方法名相同, 参数不同
- 功能相似的函数, 尽可能让方法重名(对外统一接口)
- 方法名相同, 参数不同
- 方法重载与返回值类型无关, 只与方法名和参数有关

public static void main (String args[]){

	int res1 = HelloWorld.sum(1, 2);
	double res2 = HelloWorld.sum(1.0, 2.0);
	System.out.println(res1);
	System.out.println(res2);
	
}

// 方法1
public static int sum(int a, int b){
	return a + b;
}

// 方法2
public static double sum(double a, double b){
	return a + b;
}

// 3.方法递归

方法自己调自己, 递归函数非常占用栈内存, 尽量不使用
栈内存溢出错误: java.lang.StackOverflowError

public static void main (String args[]){

	int res = sum(10);
	System.out.println(res);
	
}

public static int sum (int n1) {

	if (n1 == 1) {
		return n1;
	}

	return n1 + sum(n1 - 1);
}

image

标签:Java,int,sum,static,return,方法,public
来源: https://www.cnblogs.com/gmbjzg/p/14654933.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有