Java函数、方法
一、
public static int add2num(int a,int b){ int sum = a + b; return sum; } * public 访问权限修饰符,规定哪些地方可以访问 * static 静态修饰,表明当前的方法是不是静态方法,目前我们写的方法都是静态方法 * int 方法的返回值类型,和返回值的类型保持一致 方法运行结束的时候可能会给调用者一个结果,需要在此处确定返回结果的数据类型 * add2num 方法的名字,可以通过这个名字来调用这个方法 方法名字需要符合标识符明明规则 方法名字需要见明知义 * (int a,int b) 方法的参数列表 调用方法的时候,方法汇总可能会执行一些用到外部参数的操作,这个时候就需要把这些数据放入调用方法的参数列表中 * int sum = a + b; 函数主体,方法体 方法具体执行的操作 * return sum; 方法的返回值 一个方法运行结束后返回给调用者的内容就书写在这里
- 函数定义的位置
- 类中方法外
- 是类的成员之一
- 和其他方法是同级关系
- 函数的参数
- 形参
- 形式上的参数
- 规定了当前方法需要哪些类型的数据
- 定义在方法后面的小括号位置==》public static void MethodName(形参){}
- 实参
- 实际参与的参数
- 实参的的个数、类型、顺序必须个实参的规定保持一致
- 案例
-
public class Demo05 { public static void main(String[] args) { System.out.println("床前明月光"); printSign(10, "* "); System.out.println("疑是地上霜"); printSign(10, "# "); System.out.println("举头望明月"); // printSign("$",10); // 实参的顺序需要和形参保持一致 // printSign(10); // 实参的个数需要和形参保持一致 } /** * 输出指定个数图形的方法 * @param count 图形的个数 * @param sign 具体的图形 */ public static void printSign(int count,String sign) { for (int i = 0; i < count; i++) { System.out.print(sign); } System.out.println(); } }
- 形参
- 函数的返回值
-
-
返回值可以有也可以没有
-
具体情况根据自己生产的需要和书写代码的习惯
-
返回值和返回值类型要对应
-
返回值类型有基本类型、引用类型、void
-
当返回值类型是void的时候,return可以省略,也可以指数写return;
-
-
方法的return后面不能再书写代码----写了也无法执行,方法遇到return就直接结束
- 案例:
-
public class Demo6 { public static void main(String[] args) { save(1000); int money = take(1000); System.out.println(money); } public static int save(int money) { System.out.println("存入金额" + money); return money; } public static int take(int money) { return money; // System.out.println(money); return 就是结束方法,return后面的内容将不再执行 } }
- 函数的使用案例:
- 案例
-
public class Demo07 { public static void main(String[] args) { /** * 函数根据参数列表和返回值可以分为4类 * 无参数无返回值 * 无参数有返回值 * 有参数无返回值 * 有参数有返回值 */ int add2num = add2num(3, 5); System.out.println(add2num); printMul(10, 20); } /** * 计算两个数字的和 * @param a 参数1 * @param b 参数2 * @return 返回计算的结果 */ public static int add2num(int a,int b) { return a+b; } /** * 计算两个数的商 * @param a 被除数 * @param b 除数 * @return 相除的结果 */ public static double div2num(int a,int b) { return 1.0*a/b; } /** * 获取圆周率 * @return 圆周率 */ public static double getPI() { return 3.141592653589793; } /** * 输出a和b的乘积 * @param a 第一个参数 * @param b 第二个参数 */ public static void printMul(int a,int b) { System.out.println("a和b相乘的结果是:" + (a*b)); } }