------- android培训、java培训、期待与您交流! ----------
class functiondemo2//函数(应用)
{
public static void main(String[] args)
{
boolean result=compare(3,3);
/*
不是int result=compare(3,3) 因为是boolean类型 返回的必须是boolean(就是
调用的也必须是boolean)
*/
System.out.println("result "+result);
int MAX=GetMax(2,82);
System.out.println("MAX="+MAX);
System.out.println("Sum="+GetSum(3,4)); //结果为Sum=7
}
/*
我们不断地编写程序代码其实就是不断地去实现功能 而java中的最小功能单元就是函数
方法 : 如何定义一个函数呢?
1.既然函数是一个独立的功能 那么该功能的运算结果是什么先得明确 因为这是
在明确函数的返回值类型
2.在明确在定义该功能的过程中是否需要未知的内容参与运算 因为是在明确函数
的参数列表(参数的类型和参数的个数)
/*
需求1:定义一个功能 完成3+4的运算 并将结果返回给调用者
1.明确功能的结果: 是一个整数的和
2.在实现该功能的过程中是否有未知内容参与运算 没有
其实这两个功能就是在明确函数的定义
1.是在明确函数的返回值类型
2.明确函数的参数列表( 参数的类型和参数的个数)
public static int GetSum()
{
return 3+4;
}
以上这个函数的功能 结果是固定的 毫无扩展性而言
为了方便用户需求 由用户来指定加数和被加数 这样 功能才有意义
思路:
1,功能结果是一个和。返回值类型是int。
2,有未知内容参与运算。有两个。这个两个未知内容的类型都是int。
如下:
*/
public static int GetSum(int x,int y)
{
return x+y;
}
/*
需求2: 判断两个数是否相等
思路 : 1.先看要的是什么结果 是判断两个数是否相等 属于布尔型 所以要定义boolean
开始自己用的是int 也像老师老师那样分析了 可就是一带而过 上去就写代码
所以就挂了 而且 if 定义的条件表达式后面不能加; 错误提示是"else 不带有
if"找了半天错误才发现这里 开始怎么也不明白怎么会提示没有if 呢??
2.接着判断是否有未知的量参与运算 有 所以定义定义参数列表(int x int y)
*/
public static boolean compare(int x,int y)
{
//if (x==y)//不能加;
// return true;//不要丢;
//else
// return false;//不要丢;
//可以再继续优化,简化代码,注释else 但是不能注释return false
/*还可以继续优化,因为是if else语句 前面讲过三元运算符的问题 因为
这里if定义的就是具体的值 所以可以用三元运算符代替*/
//return (x==y)?true:false;//必须不能丢return啊!!
//还可以继续优化,因为函数本身返回值类型就是boolean,所以可以直接写成:
return x==y;//这就是代码的优化
}
/*
需求3: 定义功能,对两个数进行比较。获取较大的数。
思路: 1.获取最大值 运算结果是值 所以返回值类型为int
2.运算过程中有未知量参与 所以要定义参数列表
*/
public static int GetMax(int x,int y)//需要写2个int 不是1个
{
/*if (x>y)
return x;
else
return y;*/
return(x>y)?x:y;
}
//注意:如果是没有具体返回值的情况 如
public static void Get(int x,int y)
{
System.out.println(x+y);
return;
}
/*
这种思想本身就是错的 以后尽量不要写 如果用户只是想比较用GetSum函数得到的两个
数的和 不要将两个数都打印出来 只要最后的结果 这样做就是多余了 比如
int x=GetSum(2,6);
int y=GetSum(4,9);
int Max=GetMax(x,y);
是否打印(显示结果)的决定权在用户(调用者)!不要多余,实际上好多安卓软件都有这个毛病 需
要的功能没有 不需要的一堆
这种情况是不能直接在输出中打印 System.out.println(GetMax(3,4));的原因就是他
没有具体的返回值 而其他的有具体返回值的是可以的 比如上面的 GetSum 就可以写成
System.out.println(GetSum(3,4)); 结果在上面
*/
//注意 函数里面是不能套函数的 写的函数如果包含在主函数里 会报错 提示非法 需要.class
}