方法
方法的定义格式
- 方法其实就是若干语句的功能集合
- 参数(原料):就是进入方法的数据
- 返回值(产出物):就是从方法中出来的数据
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体
return 返回值;
}
修饰符:现阶段的固定写法,public stastic
返回值类型:也就是方法最终产生的数据结果是什么类型
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
PS:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情。若干行代码
return:两个作用1.停止当前方法。2.把后面的返回值还给调用处
返回值:方法执行后最终产生的结果
注意事项:return后面的返回值必须和方法名称前面的返回值类型保持对应
方法的三种调格式
- 单独调用:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
注意:此前学习的方法,返回值类型固定写为viod,这种方法只能够单独调用,不能进行打印调用或者赋值调用
package cn.itcast.day04.damo02;
/*
定义一个两个Int数字相加的方法,三要素
返回值类型:int
方法名称:sum
参数列表:int a,int b
*/
public class Demo01Method {
public static void main(String[] args) {
//单独调用
sum(10,20);
//打印调用
System.out.println(sum(10,20)); //30
//赋值调用
int number = sum(15,25);
}
public static int sum(int a,int b){
System.out.println("方法执行啦");
int result = a + b;
return result;
}
}
方法的调用流程图解
对比有参数和无参数
-
有参数:小括号中有内容。当一个方法需要一些数据条件才能完成任务的时候,就是有参数
例如两个数字相加,必须知道两个数字各自是多少,才能相加
-
无参数:小括号留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数
例如定义一个方法,打印十次固定的HelloWorld
package cn.itcast.day04.damo02;
public class Demo02MethodParam {
public static void main(String[] args) {
method(10,20);
method2();
}
//两个数字相乘,做乘法,必须世道两个数字各自是多少,否则无法进行计算
//有参数
public static void method(int a ,int b){
int result = a * b;
System.out.println("结果是:" + result);
}
//打印输出固定十次文本字符串
public static void method2(){
for (int i = 0;i < 10;i++){
System.out.println("HelloWorld" + i);
}
}
}
方法有返回值和没有返回值
- 图解
package cn.itcast.day04.damo02;
/*
题目要求:定义一个方法,用来【求出】两个数字之和。(你帮我算,算完之后把结果告诉我)有
题目变形:定义一个方法,用来【打印】两个数字之和。(你来计算,算完之后你自己负责结果显示,不用告诉我)无
*/
public class DemoMethou03return {
public static void main(String[] args) {
//我是main方法,我来调用你
//我调用你,你帮我计算一下,算完了之后,把结果告诉我的num变量
int num = getSum(10,20);
System.out.println("返回值是:" + num);
printSum(100,200);
}
//我是一个方法,我负责两个数字相加
//我有返回值int,谁调用我,我就把计算结果告诉谁
public static int getSum(int a, int b){
int result = a + b;
return result;
}
//我是一个方法,我负责两个数字相加
//我没有返回值,不会把结果告诉任何人,而是我自己打印输出
public static void printSum(int a,int b) {
int result = a + b;
System.out.println("结果是:" + result);
}
}
注意事项:对于有返回值的方法,可以使用单独调用,打印调用或者赋值调用
但是对于无返回值的方法,只能使用单独调用
方法练习1 比较两个数字
package Demo03;
/*
题目要求:定义一个方法,用来判断两个数字是否相同
*/
public class Demo01Methodsame {
public static void main(String[] args) {
System.out.println(isSame(10,20));
System.out.println(isSame(20,20));
}
/*
三要素:
返回值类型:布尔
方法名称:isSame
参数列表:int a .int b
*/
public static boolean isSame(int a,int b){
boolean same;
if (a == b){
same = true;
}else{
same = false;
}
return same;
}
}
方法练习2求出1-100的所有的和
package Demo03;
/*
题目要求:
定义一个方法,求1-100间所有数字之和
*/
public class Method02 {
public static void main(String[] args) {
System.out.println("结果是:"+ getSum());
}
/*
三要素:
返回值:有返回值,计算结果是一个int数字
方法名称:getSum
参数列表:数据范围已经确定,是固定的,所以不需要告诉我任何条件,不需要参数
*/
public static int getSum(){
int sum = 0;
for (int i = 1 ;i <= 100;i++){
sum += i;
}
return sum;
}
}
方法练习3 打印指定次数
package Demo03;
/*
题目要求:
打印指定次数的HelloWorld
*/
public class Method03 {
public static void main(String[] args) {
printCount(5);
}
/*
三要素
返回值类型:只是进行一大堆打印操作,没有计算,也没有结果要告诉调用处
方法名称:printCount
参数列表:到底要打印多少次?必须告诉我,否则我不知道打印多少次,没法打印,次数int
*/
public static void printCount(int num){
for (int i = 0; i < 10; i++) {
System.out.println("HelloWorld" + (i + 1));
}
}
}
来源:CSDN
作者:ning96
链接:https://blog.csdn.net/ning96/article/details/104087771