前言
java的方法和C语言的函数是一样的,举个简单的例子,我们现在假设一个班50个同学,他们都有同样的数学问题,那么一个一个去问老师显然是效率低下的。一个解决办法就是,老师写一个详解,然后有需要的同学自己去看即可。我们的java的方法和C语言的函数也是同样的道理,你需要重复进行相关功能的实现,只要把那个功能写入一个函数,然后进行调用即可
提示:以下是本篇文章正文内容,下面案例可供参考
一、基本写法
public static 返回值 方法名称(形式参数列表) {
函数体;//也叫方法体
}
//函数名字要采用小驼峰形式
//比如testDemo,就是首字母不大写,后续单词首字母大写
比如我现在写一个简单的Add函数
public static int Add(int a,int b) {
//传参过来a和b
return a+b;//返回a和b的和
}
二、方法的调用
我们仍以上面的Add函数为例
代码如下(示例):
public static int Add(int a,int b) {
return a+b;
}
public static void main(String[] args) {
int c=Add(3,6);//方法的调用
//将Add(3,6)的返回值赋给c
System.out.println(c);
}
上面这段代码,实际编译器会是这样的:
这里的a:和b:是编译器自己加的,不需要自己手打,我们只需要传参数。
运行效果如下:
2.一些注意点
1.我们进行方法调用的时候,传过去的是实参,接收的是形参。这种方法是传值调用,实际上,和C语言不同,java只有传值调用,没有传址调用
2.传参的类型要匹配,比如形参是整形,你实参也得传整形,否则会报错
3.传参的个数要匹配,比如上面的Add函数,它有2个形参a和b,你调用的时候不能只传一个或者多于2个参数,否则电脑怎么知道剩下的数据去哪里找或者多余的数据怎么用。
4.返回值也要相同
public static int Add(int a,int b) {
return a+b;
}
public static void main(String[] args) {
int c=Add(3,6);
System.out.println(c);
比如你return a+b,a+b是个整数,你public static int Add(int a,int b)返回值类型必须是int
另外 int c=Add(3,6);我们Add(3,6)函数运行完返回了一个整型9,你用c去接收整形9,你也得保证c也是整形
5.函数值的返回值有或无都是允许的,主要是看你需要的功能是否需要一个返回值
二、实战演练
计算1!+2!+3!+…n!
public static int jc(int x) {
int ret=1;
int i=0;
for(i=1;i<=x;i++)
{
ret=ret*i;
}
return ret;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int i=0;
int j=1;
int sum=0;
for(i=1;i<=n;i++)//1!+2!+...n!要进行n次加法
{
j=jc(i);//计算i的阶乘
sum+=j;
}
System.out.println(sum);
}