这一节我们学习在实际开发中如何定义一个函数,也就是如何定义一个功能.
要定义一个功能,就要用两个明确来完成:
明确一:这个功能的结果是什么;
明确二:这个功能实现过程中是否需要未知内容参与运算.
我们直接看下面代码:
~~~
class FunctionDemo2 //两个明确
{
public static void main(String[] args)
{
int num = 65;
System.out.println(num+"分对应的等级:"+getLevel(num));
print99();
}
/*
需求1:定义一个功能,完成两个整数的和的获取
思路:
既然定义功能,就是可以用函数来实现
如何定义一个函数呢?
通过两个明确来完成
明确一:这个功能的结果是什么? 是和,是功能的结果,所以该功能的返回值类型是int
其实就是在明确函数的返回值类型
明确二:这个功能实现过程是否需要未知内容参与运算? 有,加数和被加数,这就是函数的参数列表(参数的个数+参数的类型)
其实就明确参数列表
*/
public static int add(int a,int b)
{
return a+b;
}
/*
需求2:定义一个功能,画一个矩形在控制台
思路:
明确一:这个功能的结果是什么? 没有结果,直接打印到控制台,并未返回给调用者,用void表示
明确二:这个功能实现过程是否需要未知内容参与运算? 有,行和列不确定.两个整数int
*/
public static void draw(int row,int col)
{
for(int x=1;x<=row;x++)
{
for(int y=1;y<=col;y++)
{
System.out.print("*");
}
System.out.println();
}
}
/*
需求3:定义一个功能,比较两个数年是否相等
思路:
明确一:这个功能的结果是什么?
有,比较结果boolean
明确二:这个功能实现过程是否需要未知内容参与运算?
有,两个整数
*/
public static boolean equals(int a,int b)
{
/*
if(a==b)
return true;
else
return false;
*/
//(a==b)?true:false;
return a==b;
}
/*
需求4:定义一个功能,获取两个数中较大的数
思路:
明确一:这个功能的结果是什么?
有,两个整数中较大的数
明确二:这个功能实现过程是否需要未知内容参与运算?
有,参与比较的两个参数
*/
public static int getMax(int a,int b)
{
/*if(a>b)
return a;
else
return b;
*/
return (a>b)?a:b;
}
/*
需求5:定义一个功能,打印99乘法表
思路:
明确一:这个功能的结果是什么?
没有,直接在控制台输出99乘法表
明确二:这个功能实现过程是否需要未知内容参与运算?
没有
*/
public static void print99()
{
for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+""+x+"="+y*x+"\t");
}
System.out.println();
}
}
/*
需求6:根据考试成绩获取学生分数对应的等级
90~100 A
80~89 B
70~79 C
60~69 D
60以下 E
思路:
明确一:这个功能的结果是什么?
有,返回等级char
明确二:这个功能实现过程是否需要未知内容参与运算?
有,学生的分数int
*/
public static char getLevel(int num)
{
if(num>=90&&num<100)
return 'A';
else if(num>=80&&num<89)
return 'B';
else if(num>=70&&num<79)
return 'C';
else if(num>=60&&num<69)
return 'D';
else
return 'E';
}
}
~~~
我们在上面的几个不同功能中都运用了两个明确来分析,实现不同的功能.
- 前言
- 1.1 基本常识
- 1.2 Java语言概述
- 1.3 Java语言的环境搭建
- 1.4 Java程序开发之初体验--Hello World
- 2.1 关键字
- 2.2 标识符
- 2.3 注释
- 2.4 常量
- 2.5 进制扫盲
- 2.6 变量和数据类型(1)
- 2.7 变量和数据类型(2)
- 2.8 运算符
- 3.1 if语句
- 3.2 switch语句
- 3.3 while和do-while语句
- 3.4 for语句
- 3.5 for循环的嵌套
- 3.6 break语句与continue语句
- 4.1 函数的定义
- 4.2 定义函数的两个明确
- 4.3 函数的内存加载过程
- 4.4 函数的重载
- 5.1 数组的定义
- 5.2 数组的内存分配及特点
- 5.3 数组操作中常见问题
- 5.4 数组常用操作(1)
- 5.5 数组常用操作(2)
- 5.6 二维数组
- 6.1 面向对象的概述
- 6.2 类与对象的关系
- 6.3 对象的内存体现
- 6.4 成员变量与局部变量
- 6.5 类类型参数与匿名对象
- 6.6 基本数据类型参数与引用数据类型参数的传递过程
- 6.7 封装
- 7.1 构造函数概述与默认构造函数
- 7.2 构造函数与一般函数的区别
- 7.3 构造函数的重载
- 7.4 构造函数的内存加载
- 7.5 构造函数需要注意的几个细节
- 7.6 this关键字的原理
- 7.7 this关键字的细节与应用
- 8.1 static关键字之特点
- 8.2 成员变量与静态变量的区别
- 8.3 static关键字使用的注意细节
- 8.4 main函数的解析与细节
- 8.5 static关键字的使用场景
- 8.6 静态的内存加载
- 8.7 静态代码块
- 8.8 构造代码块
- 9.1 继承
- 9.2 单继承与多重继承
- 9.3 子父类中成员变量特征体现