天天看点

小白必看!Java函数的基本知识与应用

作者:云端源想IT培训
小白必看!Java函数的基本知识与应用

“这里是云端源想IT,帮你轻松学IT”

嗨~ 今天的你过得还好吗?

时光缓缓

岁月凝香

暖阳碎了一地的光

- 2023.05.26 -

计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理;所谓出口,就是指函数的函数值,在计算机求得之后,由此口带回给调用它的程序。

前两期内容我们讲了Java中数据类型与变量的相关基础知识,今天我们再来看看Java中函数的基本知识和应用,老规矩!先收藏一波!

小白必看!Java函数的基本知识与应用

一、函数的定义

什么是函数?函数就是定义在类中的具有特定功能的一小段独立的代码,也称为方法。

小白必看!Java函数的基本知识与应用

函数格式:

修饰符 返回值类型 函数名称(参数类型 参数1,参数类型参数2, . . . ){

函数执行代码;

return 返回值;

}

eg:

public static int addFunc(int a,int b){

return a+b;

}

这是一个名为"addFunc"的Java方法或函数,具有两个整数参数"a"和"b"。它具有public访问修饰符,static关键字表示可以在不创建类的实例的情况下调用它,并返回一个整数值。实现将两个参数相加并使用return语句返回结果。

小白必看!Java函数的基本知识与应用

返回值类型:函数运行后的结果类型。

参数类型:是形式参数的数据类型。

形式参数:是一个变量,由于存储调用函数时传递给函数的实际参数。

实际参数:传递给函数的具体值。

return:用于结束函数。

返回值:函数运算后的结果值,该值会返回给该函数的调用者。

注意:当函数没有返回值类型是用void来表示;如果返回值类型是void,name函数中的return语句可以省略不写。

例如:

public static void sout( int a){

System.out.println(a);

}

二、函数的特点

  • 定义函数可以将功能代码进行封装使用
  • 便于对该功能进行复用
  • 函数只有被调用时才会执行
  • 函数的出现提高了代码的复用性
小白必看!Java函数的基本知识与应用

注意:

  • 函数中只能调用函数,不可以在函数内部定义函数。
  • 定义函数时函数的结果应该返回给调用者,交给调用者处理。

函数调用的内存模型:就是函数的压栈过程、弹栈过程。

定义函数:

  1、函数是一个独立的功能,明确该功能运算结果。

  2、明确是否需要未知的内容参与运算。

三、函数的应用

定义函数的两大原则:

(1)明确函数的功能结果是什么,确定函数的返回值类型。

(2)明确这个功能实现过程中是否需要未知内容参与运算,这就是函数的参数列表(参数的个数,参数的类型)。

小白必看!Java函数的基本知识与应用

下面分享几个例子,让大家更直观的理解:

需求1: 定义一个功能,完成两个整数的和的获取。

思路:既然定义功能,就是可以用函数来体现。如何定义一个函数呢?通过两步骤完成。

  • 步骤一:这个功能的结果是什么?
  • 是和--->返回值类型是int 。
  • 步骤二:这个功能实现过程中是否需要未知内容参与运算?
  • 有,加数和被加数

注意:返回值类型和参数类型没有直接关系。

public static int myAdd(int a,int b)

{

int sum = a+b;

return sum;

}

需求2: 定义一个功能,画一个矩形在控制台。

  • 步骤一:这个功能的结果是什么?
  • 没有结果----> void
  • 步骤二:这个功能实现过程中是否需要未知内容参与运算?
  • 有,行和列不确定----->(a int,b int)

public static void myDraw(int row,int col)

{

for (int x=1; x<=row ;x++ )

{

for (int y=1;y<=col ; y++ )

{

System.out.print("*");

}

System.out.println();

}

}

需求3: 定义一个功能,比较两个数是否相等。

  • 步骤一:这个功能的结果是什么?
  • 有 ----> boolean.
  • 步骤二:这个功能实现过程中是否需要未知内容参与运算?
  • 有 ----> (int a,int b)

public static boolean myEquals(int a,int b)

{

/*

if(a==b)

return true;

else

return false;

boolean x ;

if(a==b)

x = true;

else

x = false;

return x;

*/

// return (a==b)?true:false;

return a==b;

}

四、函数的重载

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不用即可。函数的重载现象,只存在于强数据类型语言中(java、c、c++),弱数据类型语言不存在(如:JavaScript、PHP、python)。

小白必看!Java函数的基本知识与应用

重载特点:与返回值无关,只看参数列表。

重载的好处:方便于阅读,优化了程序设计。

函数的重写(Overriding):

  • “重载”不同于“重写”
  • “重写(覆盖)”概念存在于继承关系中,子类可继承父类中的方法而不需要单独编辑,这提供便捷化。但有的时侯,子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
  • 父类中存在一个函数,子类中也存在一个同名函数,在了类中对函数重新编辑,做得更具体化。
小白必看!Java函数的基本知识与应用

重写的规则:

  1、在子类中可以根据需要对从父类中继承来的方法进行重写。

  2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。

  3、重写方法不能使用比被重写的方法更严格的访问权限。

局部变量:也称本地变量,是定义在函数内部的变量,在使用之前必须赋值;

下面再给大家分享一个示例:

package com.home.study.function;

/*

函数重载:

1、同一个类中

2、同名称

3、参数个数不同,或者参数类型不同

4、与返回值类型无关

*/

public class FunctionDemo {

public static void main(String[] args) {

int a=3;

int b=5;

int c=7;

// a+b

int sum=0;

double sum_d =0.0;

sum = add(a, b);

System.out.println(sum);

sum = add(a, b, c);

System.out.println(sum);

sum_d = add(a, b);

System.out.println(sum_d);

}

public static int add(int a, int b){

return a+b;

}

public static double add(double a,double b){

return a+b;

}

public static int add (int a, int b,int c){

return a+b+c;

}

}

这段代码演示了 Java 中函数重载的概念。函数重载指在同一个类中定义了多个同名函数,但是它们的参数列表不同(即参数个数或类型不同)。在调用该函数时,Java 根据传入的参数类型和个数匹配对应的函数,并执行相应的代码块。

小白必看!Java函数的基本知识与应用

此外,函数重载与返回值类型无关,即可以有不同的返回值类型。在上述示例中,add 函数被重载了三次:两个整型参数的 add 函数、两个双精度浮点型参数的 add 函数和三个整型参数的 add 函数。通过传入不同的参数,实现了不同类型的加法操作。

五、关于递归

递归是函数自身调用自身的现象,递归的思想是分治思想的体现。

典型递归:(斐波那契数列)。

代码如下:

package Demo;

import java.util.Scanner;

public class ZuoYe1 {

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

System.out.print(“请输入数字:”);

int num = sc.nextInt();

//数列:1,1,2,3,5,8…

for (int i=1;i<=num;i++){ //输出num个斐波那契数列

System.out.print(input(i));

}

}

public static int input(int n){

if(n1 || n2)

return 1;

else

return input(n-1)+input(n-2);

}

}

这段代码是一个Java程序,它要求用户输入一个数字,然后输出对应数量的斐波那契数列。斐波那契数列是指开始的两个元素都为1,随后的每个元素都是前两个元素的和。

在主函数中,首先创建了一个Scanner对象用于读取用户输入,然后提示用户输入数字,并且将该值存储在变量num中。

小白必看!Java函数的基本知识与应用

接下来使用for循环遍历num次,每次调用名为input()的函数并传入循环变量i作为参数,最终输出对应的斐波那契数列。在input()函数中,如果参数n小于等于2,则返回1,否则递归调用自身,计算n-1和n-2的斐波那契数列元素之和,最终返回结果。

本文从函数的定义、特点、运用以及函数的重载和递归这几个方面讲解了Java中函数的相关基础知识,你学会了吗?记得收藏起来以便学习时随时查看哦。

小白必看!Java函数的基本知识与应用

我们下期再见!

小白必看!Java函数的基本知识与应用

END

文案编辑|云端学长

文案配图|云端学长

内容由:云端源想分享

小白必看!Java函数的基本知识与应用

继续阅读