Java方法定义和使用
package com.company;
/**
* 4、方法
*/
/*
在java中方法的名称有严格的命名要求,第一个单词首字母小写,之后每个单词的首字母大写,如getMessage()
*/
public class javaMethod {
/**
* 4.1方法基本定义
*/
/**
* 1、定义一个打印信息的方法,不接受参数,无返回值
*/
public static void printInfo(){//static关键字定义方法,该方法必须定义在主类中,并且由主方法直接调用
System.out.println("*****************");
System.out.println("****welcome******");
System.out.println("*****************");
}
/**
* 2、定义一个有参数有返回值的方法
* 定义一个支付并获取内容的方法,该方法可以由主方法直接调用
* @param money 要支付的金额
* @return 根据支付结果获取相应的返回信息
*/
public static String payAndGet(double money){//该方法需要接收double类型的参数,同时返回String类型的处理结果
if (money >= 10.0){//判断购买金额是否充足
return "购买一份快餐,找零:" + (money - 10.0) + "元";//金额充足
}else {
return "对不起,您的余额不足,请先充值。";//金额不足
}
}
/**
* 3、使用return结束方法调用
* 定义销售方法,可以根据金额输出销售信息。如果销售数量小于等于0,会判断销售逻辑出现了问题
* @param amount 要销售的数量必须为正数
*/
public static void sale(int amount){
if (amount <= 0){//如果销售数量小于
return; //后续代码执行不了
}
System.out.println("成功销售" + amount + "本图书。");
}
/**
* 4.2方法重载
* 方法名称相同,参数的类型或者个数不同
*/
/**
*1、实现两个整型数据的加法计算
* @param x 计算数字1
* @param y 计算数字2
* @return 返回加法计算结果
*/
public static int sum(int x, int y){
return x + y; //2个数相加
}
/**
* 2、实现3个整型数据的加法计算
* @param x 计算数字1
* @param y 计算数字2
* @param z 计算数字3
* @return 返回加法计算结果
*/
public static int sum(int x, int y, int z){
return x + y + z; //3个数相加
}
/**
* 3、实现两个浮点数的加法运算
* @param x 计算数字1
* @param y 计算数字2
* @return 返回加法计算结果,去掉小数
*/
public static int sum(double x, double y){
return (int) (x + y); //返回结果要是int类型,强制转换
}
/**
* 4.3方法递归调用
*/
/**
* 实现1~100数字的累加
* 数据的累加,传入一个数据累加操作的最大值,而后每次进行数据的递减,将一直累加到计算数据为1
* @param num 要进行累加的操作
* @return 数据的累加结果
*/
public static int sum(int num){//最大的内容
if (num == 1){//递归的结束调用,此处自定义为1
return 1;//最终的结果返回了一个1
}
return num + sum(num - 1);//递归调用
}
/**
*计算1!+2!+3!+......90!
*/
/**
* 定义方法实现阶乘计算
* @param num
* @return
*/
public static double factorial(int num){
if (num == 1){ //定义阶乘结束条件
return 1; //返回1*1的结果
}
return num * factorial(num - 1);//递归调用
}
/**
* 实现阶乘数据的累加操作,根据每一个数字进行阶乘操作
* @param num 要处理的数字
* @return 指定数字的阶乘结果
*/
public static double sum_f(int num){
if (num == 1){
return factorial(1);
}
return factorial(num) + sum_f(num - 1);
}
public static void main(String[] args) {
//1、定义一个打印信息的方法printInfo(),不接受参数,无返回值
// printInfo();//调用方法
//2、定义一个有参数有返回值的方法payAndGet(double money)
// String result=payAndGet(2);//定义一个String类型的变量接收返回值
// System.out.println(result);//打印结果
//3、使用return结束方法调用
// sale(50);//方法内部有打印输出,不必在主函数System.out.println();
// sale(-1);//无结果,销售数量不得小于或等于
//4、方法重载
// Integer result1=sum(2,6);//sum(int x, int y)
// System.out.println("2+6="+result1);
// Integer result2=sum(2,3,4);//sum(int x, int y, int z)
// System.out.println("2+3+4="+result2);
// Integer result3=sum(2.3,5.1);//sum(double x, double y)
// System.out.println("2.3+5.1="+result3);
//5、实现1~100数字累加
// System.out.println(sum(100));
//6、计算1!+2!+3!+......90!
// System.out.println(sum_f(90));
}
}