java函数

定义一个函数,完成一个整数的*3+5的运算

public class FunctionDemo
{
    public static void main(String[] args)
    {
        int x = getResult(4);
        System.out.println("x="+x);
    }
    public static int getResult(int num)
    {
        return num * 3 + 5;
    }
}

静态函数只能调用被静态函数。

下图:没有具体的返回值,就不能有返回值类型出现。

 

没有具体的返回值,返回值类型用void来标识。

 函数中不能定义函数

如何定义一个函数呢?

1,先明确函数的返回值类型

2,再明确是否需要未知的内容(明确函数的参数列表(参数的类型和参数的个数)。

返回值为void类型的函数,不可以用输出语句调用。
public class FunctionDemo
{
    public static void main(String[] args)
    {
        System.out.println(get(4,5)); //返回值为void类型的函数,不可以用输出语句调用。
    }
    public static void get(int a,int b)
    {
        System.out.println(a+b);
        return;
    }
}
public class FunctionDemo
{
    public static void main(String[] args)
    {
        
    }
    public static boolean compare(int a,int b)
    {
        return a==b;  //这是最简单的写法,因为==是比较运算符,只有True和false两个结果。
    }
}
public class FunctionDemo
{
    public static void main(String[] args)
    {
        
    }
    /*
    需求:对两个数进行比较。获取较大的数
    */
    public static int getMax(int a,int b)
    {
        return (a>b)?a:b;
    }
}

 

函数练习:

//    定义一个打印99乘法表功能的函数。
class FunctionTest
{
    public static void main(String[] args)
    {
        print99();
    }
    public static void print99()
    {
        for(int x=1; x<=9; x++)
        {
            for(int y=1; y<=x; y++)
            {
                System.out.print(y+"*"+x+"="+y*x+"	");
            }
            System.out.println();
        }
    }
}

 函数重载:

重载的概念:在同一个类中的同名函数,它们的参数个数或者参数类型不同。

重载的特点:与返回值类型无关,只看参数列表。参数是有顺序的。

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

//返回两个整数的和
    int add(int x, int y) {return x+y;}
//返回三个整数的和
    int add(int x, int y, int z) {return x+y+z;}
//返回两个小数的和
    double add(double x, double y) {return x+y;}

什么时候用重载?

当定义的功能相同,但参与运算的未知内容(参数)不同

那么这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

class FunctionOverload
{
    public static void main(String[] args)
    {
        add(4,5);
        add(4,5,6);
    }
    
    //定义一个加法运算,获取两个整数的和。
    public static int add(int x,int y)
    {
        return x+y;
    }
    //定义一个加法,获取三个整数的和。
    public static int add(int x,int y,int z)
    {
        return add(x,y)+z;
    }
}

 提高了代码的复用性:

 练习:问,哪个答案和给定函数重载了

void show(int a, char b, double c) {}
void show(int x, char y, double z) {}  //不重载,因为和原函数一样。
int show(int a, double c, char b) {}   //重载,因为参数类型不同。注意:重载和返回值类型没关系。

相同的函数不允许在同一个类中出现。

原文地址:https://www.cnblogs.com/linuxws/p/10185971.html