目录
一、函数的语法
二、函数的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;
}
}