1.方法基本定义:
此时:定义在主类之中并由主方法直接调用。
定义一个无参数接收并且无返回值的方法:
public class JavaDemo {
public static void main(String args[]) {
printInfo(); // 方法调用
printInfo(); // 方法调用
}
/**
* 定义一个打印信息的方法,该方法不需要接受参数并且不返回任何处理结果
*/
public static void printInfo() { // 该方法包含了三行代码
System.out.println("*******************") ;
System.out.println("* www.shsxt.com *") ;
System.out.println("*******************") ;
}
}
定义一个有参数有返回值的方法:
public class JavaDemo {
public static void main(String args[]) {
String result = payAndGet(20.0); // 调用方法并接收返回值
System.out.println(result); // 输出操作结果
System.out.println(payAndGet(1.0)); // 返回值可以直接输出
}
/**
* 定义一个支付并获取内容的方法,该方法可以由主方法直接调用
* @param money 要支付的金额
* @return 根据支付结果获取相应的反悔信息
*/
public static String payAndGet(double money) {
if (money >= 10.0) { // 判断购买金额是否充足
return "购买一份快餐,找零:" + (money - 10.0);
} else { // 金额不足
return "对不起,您的余额不足,请先充值,或者捡漏。";
}
}
}
使用return结束方法调用:
public class JavaDemo {
public static void main(String args[]) {
sale(3); // 调用方法
sale(-3); // 调用方法
}
/**
* 定义销售方法,可以根据金额输出销售信息
* @param amount 要销售的数量,必须为正数
*/
public static void sale(int amount) {
if (amount <= 0) { // 销售数量出现错误
return; // 后续代码不执行了
}
System.out.println("销售出" + amount + "本图书。");
}
}
2.方法的重载
方法重载实现:
public class JavaDemo {
public static void main(String args[]) {
int resultA = sum(10, 20); // 调用两个int参数的方法
int resultB = sum(10, 20, 30); // 调用三个int参数的方法
int resultC = sum(11.2, 25.3); // 调用两个double参数方法
System.out.println("加法执行结果:" + resultA);
System.out.println("加法执行结果:" + resultB);
System.out.println("加法执行结果:" + resultC);
}
public static int sum(int x, int y) {
return x + y; // 两个数字相加
}
public static int sum(int x, int y, int z) {
return x + y + z; // 三个数字相加
}
public static int sum(double x, double y) {
return (int) (x + y); // 两个数字相加
}
}
输出操作的重载实现:
public class JavaDemo {
public static void main(String args[]) {
System.out.println("hello"); // 输出String
System.out.println(1); // 输出int
System.out.println(10.2); // 输出double
System.out.println('A'); // 输出char
System.out.println(false); // 输出boolean
}
}
3.递归调用
实现“1 ~ 100”数字的累加:
public class JavaDemo {
public static void main(String args[]) {
System.out.println(sum(100)); // 1 - 100累加
}
/**
* 数据的累加操作,传入一个数据累加操作的最大值,而后每次进行数据的递减,将一直累加到计算数据为1
* @param num 要进行累加的操作
* @return 数据的累加结果
*/
public static int sum(int num) { // 最大的内容
if (num == 1) { // 递归的结束调用
return 1; // 最终的结果返回了一个1
}
return num + sum(num - 1); // 递归调用
}
}