函数的作用:
提高功能代码的复用性
函数的定义格式:
修饰符 返回值类型 函数名( 形参列表 ){
需要被封装的功能代码
return 把一个人结果返回给调用者 ;
}
返回值类型: 返回值类型就是指函数运行完毕后,返回的结果的数据类型。
注意: 某些函数是没有结果返回给调用者的,那么这时候返回值类型是 void 。
形参函数: 如果一个函数在运行的时候,存在着数据是要调用者肯定的,那么这时候就应该定义形参函数
函数名的命名规则:
首单词全部小写,其他单词的首字母大写,其他小写
//eg: 需求:定义一个函数做加法功能,不需要返回结果给调用者,直接输出结果即可
public static void main( String[] args){
add(2,4);
//不可将换成 int sum = add(2,4);
}
public static void add( int a, int b){
int sum = a + b;
System.out.println("结果是:" + sum );
}
函数的特点:
- 函数的作用就是把一个功能代码封装起来,已达到提高功能代码的复用性
- 函数定义好之后,是需要被调用才会执行的。主函数main 是有JVM调用的,是不需要我们主动去调用的。
- 如果一个函数没有返回值返回给调用者,那么返回值类型必须使用void 表示
如何定义一个函数:
- 返回值类型
- 是否存在位置的参数(是否存在要有调用者确定的参数)-------形式参数
//需求1:调用一个函数比较两个数的大小,把最大的返回给调用者
public static void main(String [] args){
int max = getMax(3 ,4 ); //调用了函数, 实际参数
System.out.println("最大值是:" + max);
}
public static int getMax( int a , int b){
int max = 0;//定义一个变量用来保存最大值
if( a > b){
max = a;
}else{
max = b;
}
return max; //把结果返回给调用者
}
//需求2:调用一个函数比较两个数的大小,不需要把最大的值返回给调用者,直接打印即可
public static void main(String [] args){
getMax(3 ,4 ); //调用了函数, 实际参数
}
public static void getMax(int a , int b ){
int max = 0;
if( a > b){
max = a;
}else{
max = b;
}
System.out.println("最大值是:" + max);
}
练习:
//需求1: 定义一个函数判断一个分数的等级,不需要返回任何数据类型
public static void main( String [] args){
String result = getGrade(78); // 定义一个变量用来保存结果
System.out.println(result);
}
public static String getGrade( int socre){
String grade = ""; //定义一个变量存储等级
if( socre >= 90 && socre <= 100){
grade = "A等级";
} else if( socre >= 80 && socre <= 89){
grade = "B等级";
}else if( socre >= 70 && socre <= 79){
grade = "c等级";
}else if( socre >= 60 && socre <= 69){
grade = "D等级";
}else if( socre >= 0 && socre <= 59){
grade = "E等级";
}else{
grade = "补考等级";
}
return grade ;//把等级分会给调用者
}
}
//需求2:定义一个函数打印一个乘法表,不需要返回任何数据类型
// 返回值类型 void
public static void main( String [ ] args ){
print();
}
public static void print(){
for( int i= 1 ; i <= 9 ; i ++){
for( int j = 1 ; j <= 9 ; j ++ ){
System.out.print( i + "*" + j + "=" + i*j);
}// 换行
System.out.println();
}
}
public static void main( String [ ] args ){
}