Java中的方法与C语言中的函数

先看两个简单的代码

package com.itheima.create;

public class MethodDemo1 {
    public static void main(String[] args) {
       int c1=sum(10,30) ;
        System.out.println(c1);
    }
    public static int sum(int a,int b){
        int c = a + b;
        return c;
    }
}
#include  <stdio.h> 
int main()
{
	int c=sum(10,30);
	printf("%d",c);
	return 0; 
	
}
int sum(int a,int b)
{
    int c = a + b ; 
	return c;
}

        这是两个都是简单的求和,第一个是运用Java的方法,第二个是运用C语言的函数,可以看出来这两个是十分类似的,运行结果也是一样的,

遇到类似的东西,我们很容易去联系,去比较,来加深我们对它的理解。

(1)“函数”是一段实现某种“功能”的代码,函数的操作是对输入数据的处理。

          函数的英文function恰恰有“功能”的含义,可以达到“见名知意”。通过函数的名称来实施函数调用。它能将一些数据(也就是参数)传递jQuery进行处理,然后返回一些数据(即函数的返回值),也可以没有返回值。所有传递给函数的数据都是显式传递的。而方法的参数传递通常是隐式的,它可以直接操作类内部的数据。

(2)“方法”也是一段完成某项功能的代码,也通过名字来进行调用,但它依赖于某个特定的对象。

         例如,我们可以说“调用对象X的Y方法”,而不能说“调用Y方法”。简单来说,方法和对象相关;而函数和对象无关。

因为Java是一门完全面向对象编程的语言,所以在Java中只有方法。

C语言white面向过程的编程语言,所以在C语言中只有函数。

        所以说作用大概是差不多的,都是执行一段代码完成一个操作,区别就在于操作是基于什么的,c因为其面向过程的特点,函数本身完成特定的操作,然后在整个程序不断的调用函数,而在java中方法是基于类的,而调用则是通过类的对象,使用起来更方便,而且更有意义。

        学习语言的过程中,你会发现有很多东西都是通用的,Java语言是基于C语言发展而来的,我们可以在Java的学习中将一些内容与C语言进行对比,去理解,顺便复习一些知识。

Java方法的定义和使用

方法的目的:

1.提高代码的复用性和开发效率

2.让程序逻辑更加清晰

方法的定义格式:


 修饰符 返回类型 方法名称([形参列表) {

        方法体代码;(需要执行的功能代码)

        return 返回值;

}


示例

public static int sum(int a,int b){
        int c = a + b;
        return c;
    }

定义时返回值有两类:

1.void:没有返回值;

2.数据类型(基本类型,引用类型);

方法的调用格式


方法名(.....);


int sum = add (10,20);
System.out.println(sum);

方法重载:

方法名称相同,参数的类型和个数不同。

public class TestDemo {
	public static void main(String[] args) {
		//此时将根据参数的类型和个数的不同执行不同的方法体
		System.out.println(add(100, 200));
		System.out.println(add(30, 40, 50));
		System.out.println(add(4.5, 2.1));
	}
	public static int add(int x, int y) {
		return x + y;
	}
	//此时方法名称相同,参数的个数不同
	public static int add(int x, int y, int z) {
		return x + y + z;
	}
	public static double add(double x, double y) {
		return x + y;
	}
}

方法递归调用

方法自己调用自己的形式。


//1到100累加

public class TestDemo {
	public static void main(String[] args) {
		System.out.println(sum(100));
	}
	public static int sum(int num) {
		if(num == 1)
			return  1;
		return num + sum(--num);
	}
}

[main()调用] 第1次执行sum()方法 return 100 + sum(99);
[sum()递归] 第2次执行sum()方法 return 99 + sum(98);
[sum()递归] 第3次执行sum()方法 return 98 + sum(97);

[sum()递归] 倒数第2次执行sum()方法 return 2 + sum(1);
[sum()递归] 倒数第1次执行sum()方法 return 1;.

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冥龙的小光崽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值