(05)Java学习笔记——函数(方法)

什么是函数(方法)

定义在类中的具有特定功能的一段独立的小程序

方法是完成某个功能的代码。


方法的格式:

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

{

执行语句;

return   返回值;

}


格式详细解释:

1 / 修饰符:目前就用 public static

2 / 返回值类型:功能结果的数据类型

3 / 方法名:第一个单词首字母小写,第二个单词后首字母大写

4 / 参数类型:参数的数据类型。

5 / 参数:1 / 实际参数    2/ 形式参数 :就是方法定义上的,用于接收实际参数的。

**参数有顺序。

6 / 方法体语句:完成功能的代码

7 / return : 结束方法

8 / 返回值: 就是功能的结果,由return带给调用者


写好一个方法,必须明确两个

A:返回值类型

B:参数列表,以及每个参数的数据类型


方法的调用:

1 / 方式1:单独调用(有明确返回值的方法,这种调用无意义) void类型方法 无明确返回值的可用此调用方式  方法名(参数1,参数2....);

2 / 方式2:输出调用(直接输出了,有可能我们还需要返回结果进一步操作)

3 / 赋值调用 (常用方法)  有返回值的方法调用

int result = sum(x,y);

// 返回值类型是什么,就用什么类型变量来调用


范例:

class FunctionDemo_01 
{
	public static void main(String[] args) 
	{
		int x = 10;
		int y = 20;

		//赋值调用
		int result = sum(x,y);	//调用方法返回值是什么类型,就用什么类型的变量来调用

		System.out.println(result);

	}


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



练习01:

求两个数中较大值


/*
键盘录入两个数据,返回两个数中较大值
*/

import java.util.Scanner;	//导入键盘输入包

class  MethodTest_01
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);

		System.out.println("输入第一个数据");
		int a = sc.nextInt();

		System.out.println("输入第二个数据");
		int b = sc.nextInt();

		int result = getMax(a,b);
		System.out.println("较大值是"+result);

	}

	public static int getMax(int a,int b)
	{
		int c =((a>b)?a:b);	//三元运算符找出大的数值
		return c;
	}
}



练习02:

比较两个数是否相等

/*
比较两个数是否相等。

分析:比较相等,返回的是boolean类型的值

*/

import java.util.Scanner;

class  MethodTest_02
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);

		System.out.println("输入第一个数");
		int a = sc.nextInt();

		System.out.println("输入第二个数");
		int b = sc.nextInt();

		boolean result = equal(a,b);
		System.out.println("这两个数"+result);
	}

	public static boolean equal(int a,int b)	//是否相等,返回boolean类型
	{
		if (a==b)	//如果相等,返回true,否则返回false
		{
			return true;
		}
		else
		{
			return false;
		}
	}

}


练习03:

键盘录入三个数据,返回三个中最大的值


/*
键盘录入三个数据,返回三个中最大的值

分析:先比较两个,然后拿两个中较大的值和第三个进行比较,得出最大值

*/

import java.util.Scanner;

class  MethodTest_03
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);

		System.out.println("输入第一个数");
		int a = sc.nextInt();

		System.out.println("输入第二个数");
		int b = sc.nextInt();

		System.out.println("输入第三个数");
		int c = sc.nextInt();

		int result = getMax(a,b,c);
		
		System.out.println("最大的数是"+result);
	}

	public static int getMax(int a, int b, int c)
	{
		int temp =((a>b)?a:b);	//先比较两个数字,
		int max =((temp>c)?temp:c);	//拿两个数字中较大的和第三个数字比较
		return max;	//返回最大值
	}
}

方法的注意事项:

1 / 方法与方法是平级关系,不能嵌套定义。

2 / 方法调用的时候不用再传递数据类型

3 / 如果方法有明确的返回值,一定要用return带回一个返回值


练习04:

输出如下形状:

*****

*****

*****

*****

void 的类型的返回值的调用:(单独调用)     方法名(参数1,参数2,......);


/*
输出如下图形:
*****
*****
*****
*****

分析:用forfor嵌套可输出这个图形,用两个int变量来控制横向和纵向

void 方法的调用 要用到 《单独调用》

*/


class MethodTest_04 
{
	public static void main(String[] args) 
	{
		graphics(10,8);
	}

	public static void graphics(int m, int n)
	{
		for (int x=0;x<m ;x++ )
		{
			for (int y=0;y<n ;y++ )
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

练习05:

键盘录入行数和列数,输出对应星型

void 的类型的返回值的调用:(单独调用)     方法名(参数1,参数2,......);


/*
键盘输入行数和列数,输出对应星形

分析:输出星形用forfor循环嵌套

*/

import java.util.Scanner;

class  MethodTest_05
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);

		System.out.println("输入行数");
		int m = sc.nextInt();

		System.out.println("输入列数");
		int n = sc.nextInt();

		graphics(m,n);	//void 返回类型的方法调用,用<单独调用>

	}

	public static void graphics(int m, int n)
	{
		for (int x=0;x<m ;x++ )
		{
			for (int y=0;y<n ;y++ )
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
}


练习06:

键盘输入一个1~9之间的数据,并输出对应的乘法表


/*
键盘录入n,(1<=n<=9),输出对应的nn乘法表

分析:用forfor循环嵌套输出九九乘法表的思路

*/

import java.util.Scanner;

class  MethodTest_06
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入数字");
		int z = sc.nextInt();

		if (1<=z && z<=9)	//判断输入的数字是否在1~9之间的数
		{
			nn(z);
		}
		else
		{
			System.out.println("输入正确九九乘法表数字");
		}

	}

	public static void nn(int z)	//九九乘法表方法
	{
		for (int x=1;x<=z ;x++ )
		{
			for (int y=1;y<=x ;y++ )
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}
}




——————————————————————————————————————————————————————————


方法的重载:


在同一个类中,允许存在一个以上同名函数,只要它们的 参数个数 或 参数类型不同即可。
1/同一个类
2/同名
3/参数个数  or   参数类型    不同

4/函数的重载和返回值类型无关,只看方法名和参数列表。



/*
定义一个两位整数的和的函数。
定义一个两个小数的和的函数。
定义了一个三位整数的和的函数。
*/

class FunctionDemo2 
{
	public static void main(String[] args) 
	{
		int q=sum(4,6);
		double p=sum(2.23,1.08);
		int r=sum(6,2,8);

		System.out.println(q);
		System.out.println(p);
		System.out.println(r);
	}

	public static int sum(int a,int b)      //这个函数名为sum
	{
		int s=a+b;
		return s;
	}

	public static double sum(double a,double b)    //这个函数名被sum.与上一个函数名相同,但是参数类型不同。
	{
		double s=a+b;
		return s;
	}
	public static int sum(int a,int b,int c)   //这个函数名被sum.与第一个函数名和参数类型相同,但是参数个数不同。
	{
		int s=a+b+c;
		return s;
	}

}















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值