Java方法
0x01 认识方法
1、什么是方法
方法是一种语法结构,它可以把一段代码封装成一个功能
2、为什么要用方法
以方便重复调用。方法提高了代码的复用性,让程序的逻辑更清晰。
0x02 方法的使用
1、方法的定义及其调用
修饰符 返回值类型 方法名( 形参列表 ){
法体代码(需要执行的功能代码)
return 返回值;
}
public class MethodDemo {
public static void main(String[] args) {
int sum = add(10, 20); //调用方法,方法必须调用才可以跑起来
System.out.println(sum);
}
public static int add(int a, int b) {
int c = a + b; //方法的执行代码
return c; //返回值
}
}
方法的修饰符:暂时都使用public static 修饰。
方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据。
形参列表可以有多个,甚至可以没有; 如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值。
2、方法的其他写法
方法定义时:返回值类型、形参列表可以按照需求进行填写
如果方法不需要返回结果,返回值类型必须申明成void(无返回值), 此时方法内部不可以使用return返回数据。
方法如果没有参数,或者返回值类型申明为void可以称为无参数、无返回值的方法,依次类推。
// 打印3行Hello World(使用方法)
public static void print(){
System.out.println("Hello World");
System.out.println("Hello World");
System.out.println("Hello World");
}
3、方法的注意点
方法的编写顺序无所谓。
方法与方法之间是平级关系,不能嵌套定义。
方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
方法不调用就不执行, 调用时必须严格匹配方法的参数情况。
有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用。
方法如果没有形参列表,调用的时候则不能传入参数值,否则报错。
0x03 方法的案例
1、计算1-n的和返回
需求:定义一个方法,方法中计算出 1-n的和并返回。
import java.util.Scanner;
public class MethodDemo {
public static void main(String[] args) {
//需求:定义一个方法,方法中计算出 1-n的和并返回。
Scanner sc = new Scanner(System.in);
System.out.print("请输入n的值: ");
int n = sc.nextInt();
int sum = get_sum(n);
System.out.println("1到n的和为: " + sum);
}
public static int get_sum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
2、判断整数是奇数还是偶数
需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶数
import java.util.Scanner;
public class MethodDemo {
public static void main(String[] args) {
//需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数: ");
int number = sc.nextInt();
judge(number);
}
public static void judge(int number) {
if (number % 2 == 0) {
System.out.println(number + "是一个偶数");
} else {
System.out.println(number + "是一个奇数");
}
}
}
0x04 方法在计算机中的执行原理
方法是放在方法区中的,被调用的时候,需要进入到栈内存中运行
0x05 Java的参数传递机制
1、基本类型的参数传递
2、引用类型的参数传递
0x06 方法重载
同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。
方法重载的作用:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计
同一个类中,多个方法的名称相同,形参列表不同,其他无所谓
形参的个数、类型、顺序不同。不关心形参的名称。
0x07 return单独使用
return; 可以立即跳出并结束当前方法的执行。
public class MethodDemo {
public static void main(String[] args) {
System.out.println("开始");
chu(10, 0);
System.out.println("结束");
}
public static void chu(int a, int b) {
if (b == 0) {
System.err.println("您的数据有误!!不执行!!");
return; // 直接结束当前方法
}
int c = a / b;
System.out.println("除法结果是:" + c);
}
}