【整理来源】黑马毕老师的java基础视频
函数的应用
两个明确:
1.明确要定义的功能最后的结果是什么?
2.明确在定义该功能的过程中,是否需要未知内容参与运算
示例:
需求:定义一个功能,可以实现两个整数的加法运算
分析:
1.该功能的运算结果是什么?两个数的和,也是一个整数(int)
2.在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的(两个参数int,int )
代码:
int getSum(int x, int y)
{
return x+y;
}
class FuncationDemo2 { public static void main(String[] args) { /*int sum = getSum(4,6); System.out.println("sum="+sum); sum = getSum(5,7); System.out.println("sum="+sum); */ System.out.println(get(4,5));//如果你的返回值类型是void的函数,是不能在输入语句中输出的, //因为,这个功能被运算结束后,他没有具体的值,打印不清楚打印什么 //getSum(4,5); } //这个功能两件事,1.求和 2.打印, //建议不要写下面这样的,定义功能原只是进行加法运算的函数,定义和需要怎么操作,是由调用主函数做的。 //这个功能定义思想就是不合理的,为什么呢?因为只为完成加法运算,至于是否要对和进行打印操作,那是调用者的事情,不要在该功能中完成。 public static void get(int a ,int b) { System.out.println(a+b); return; } /* 如何定义一个函数呢? 1.既然函数是一个独立的功能,那么该功能的运算结果是什么先明确。 因为这是在明确函数的返回值类型 2.在明确在定义该功能的过程中 是否需要 未知的内容 参与运算。 因为是在明确参数的列表(参数的类型和参数的个数) */ //需求:定义一个功能,完成3+4的运算,并将结果返回给调用者 /* 思路:1.明确功能的结果是什么:是一个整数的和 2.在实现该功能的过程中,是否有未知的内容参与运算:没有 其实,这个两个功能在明确函数的定义, 第一个在明确函数的返回值类型, 第二个是明确函数的参数列表(参数的类型,参数的个数) public static int getSum() { return 3+4; } */ /* 以上函数的功能,结果是固定的,毫无扩展性可言, 为了方便用户需求,由用户来指定加数和被加数,这样,功能才有意义 思路: 1.功能结果是一个和,返回值类型是int 2.有未知内容参与运算,有两个,这个两个未知内容的类型都是int */ public static int getSum(int x ,int y) { return x+y; } /* 需求:判断两个数是否相同 思路: 1.明确功能的结果:结果是:boolean类型 2.功能是否有未知内容参与运算:有,两个整数 */ public static boolean compare(int a ,int b) { /* if (a==b) return true; //else 可省略不写 return false; */ //return(a==b)?true:false; //if,else 执行后有结果的时候,可以用三元运算符 return a==b;//==是比较运算符 // 如果不是真假值,可以这样写return(a==b)?true:false;如果是,return a==b } /* 需求:定义功能,对两个数进行比较,获取较大的数 */ public static int getMax() { /* if(a>b) return a ; else return b; */ return (a>b)?a:b; } }