目录

一、函数的语法

二、函数的return与循环的break

三、函数的重载


一、函数的语法

package cm.project.java;
/*
需求:定义一个函数判断分数的等级

函数的语法:
修饰符  返回值类型  变量名(){
//函数体
}

函数的功能:
把代码封装起来,提高代码的复用性,但需要调用才能使用
如果函数没有返回值类型,那么就可以使用关键字void表示

*/

public class Demo01 {
	public static void main(String[] args)
	{
		String result = getGrade(90);  //调用函数
		//  实参 决定形参的参数类型
		System.out.println("对应的等级是:"+result);
	}
	public static String getGrade(int score){//int score形参 未知的参数定义在形参中,由函数调用之决定
		if(score>=90 && score<=100){
			/*逻辑运算符   
			 * && 短路与(and) 左右两边表达有一个为flase则整个表达是返回false,左右两边表达是都为true整个表达式返回true
			 *    短路功能:第一个表达返回flase则不再运算第二个表达式   整个表达是返回flase
			 * &  与(and)
			 * 
			 * |  或(or)       左右两边表达是只要有一个表达式为true,整个表达式都为TRUE
			 *||  短路或(or) 第一个表达是为true时则不再运算第二表达式 整个表达式返回true 
			 *
			 * */
			return "A等级";
			
		}else if(score>=80 &&score<=89){
			return "B等级";
			
		}else if(score>=70 && score<=79){
			return "C等级";
		}else if(score>=60 && score<=69){
			return "D等级";
			
		}else if(score>= 50&&   score<=59){
			return "E等级";
			
		}
		return null;
	}
	/*第二种方式
	public static String  getGrade(int score){	//未知的参数定义在形参中, 由函数的调用者确定。
		String grade = ""; //用于存储对应的等级
		if(score>=90&&score<=100){
			grade = "A等级";
		}else if(score>=80&&score<=89){
			grade = "B等级";
		}else if(score>=70&&score<=79){
			grade = "C等级";
		}else if(score>=60&&score<=69){
			grade = "D等级";
		}else if(score>=0&&score<=59){
			grade = "E等级";
		}
		
		return grade; // 把分数的等级返回给调用者。
	}
*/

}

二、函数的return与循环的break

package cm.project.java;
/*注意:一个函数的返回值类型是具体的数据类型,那么该函数就必须要保证在任意情况下都保证有返回值。(除了返回值类型是void以外)
 * return关键字的作用:
 * 
 * 返回数据给函数调用者
 * 函数一旦执行了teturn关键字,那么该函数马上结束
 * 
 * 注意:一个函数的返回值类型为void,可以出现return关键字,但后面不能有数据
 * 
 * break关键字与return关键字的区别:
 * break关键字是结束一个循环
 * return关键字结束一个函数
 * 
 * */

public class Demo02 {
	public static void main(String[] args) {
		print();
		
	}
	public static void print(){
		for (int i = 0; i < 5; i++) {
			System.out.println("hello world");
			 break;        //结束当前循环
			//return;    // 结束当前函数
		}
		System.out.println("这行能执行吗"); //不管是执行break还是return此行都不能执行 
		
	}
	//该函数的返回值类型是Void,可以存在return关键字但后面不能有数据
	public static void add(int a , int b) {
		if(a==0){
			return;//结束一个函数
		}
		System.out.println("总和:"+(a+b));
	}
	public static String  getGrade(int score){	//未知的参数定义在形参中, 由函数的调用者确定。
		if(score>=90&&score<=100){
			return "A等级";
		}else if(score>=80&&score<=89){
			return "B等级";
		}else if(score>=70&&score<=79){
			return "C等级";
		}else if(score>=60&&score<=69){
			return "D等级";
		}else if(score>=0&&score<=59){
			return "E等级";
		}else{
			return "补考等级";
		}		
	}

}

三、函数的重载

package cm.project.java;
/*
 * 函数重载:在一个类中出现两个及其以上的同名函数,就叫函数重载
 * 函数重载的本质:同名函数出现不同的函数,应对不同个数或者不同数据类型的参数
 * 
 * 函数重载的要求:
 * 函数名一致。
       形参列表不一致。(形式参数的个数或者是对应的数据类型不一致)
       与函数的返回值类型是无关的。
 * */

public class Demo03 {
	public static void main(String[] args) {//主方法 程序入口
		add(10 , 10);
		add(10 , 12.2);
		
	}
	//加法运算
	public static double add(int a ,int b){
		System.out.println("两个参数的总和:"+(a+b));
	  return 12.12;
	}
	//重复定义加法运算
	public static int add(int a , double b) {
		System.out.println("double参数的总和: "+ (a+b));
		return 12;
	}

}