方法()函数:
方法的作用:
提升代码的复用性
之前的循环也是提高复用性;
方法的使用:
格式——public static void 方法名() {语句;}; public static写死的。
viod方法没有返回值。 方法名:标识符 -- 小驼峰
循环也可以提高代码的复用性,他只是提高局部代码的复用性, 方法 提高全局代码的复用性
方法定义之后 不调用是不会执行的
方法都是独立的 平级关系 不能嵌套定义
方法的定义 没有先后顺序的
main方法调用另外一个方法, 等待着另一个方法执行结束之后,main才能继续
public class Demo4{ public static void main(String[]args){ system.out.println(1); show(); system.out.println(5); } public static void show(){ System.out.println(2); method(); system.out.println(4); } public static voidmethod(){ System.out.println(3); } }
方法的使用2-参数使用:
public static void 方法名(数据类型 变量名,数据类型 变量名,数据类型 变量名,.... ){方法体;//很多条语句
public class Demo4{ public static void main(String[]args){ //可以传 常量 spring(10); //可以传变量 int a = 40; spring(a) }public static void spring(int a ){ System.out.println(a%2==0 ? "偶数" : "奇数" ); } }
案列
public class Demo4 { public static void main(String[] args) { showJi(10,20); } public static void showJi(int a,int b ){ for (int i=a;i<=b;i++) { if (i % 2 == 1) { System.out.println(i); } } } }
方法的使用3-返回值使用:
public static 数据类型 方法名(数据类型 变量名,数据类型 变量名,数据类型 变量名,.... ){ 方法体;//很多条语return 返回值;}
案列
public class Demo4{ public static void main(String[] args) { int m = spRing(10,20,4); System.out.println(m); }public static int spRing(int a ,int b,int c){ int sum = a>b? a:b; int max = sum>c? sum:c; return max; } }
方法的注意事项:
1:方法不能嵌套
2:方法和方法之间是没有先后顺序的。
3:方法不调用不会执行的, 因为我们程序的入口都是main方法。
4:void的方法,说明方法内是不能有返回值的, 但是你是可以写一个 单独的return的。用来强制终止方法。
return 这个关键字的作用, 两个作用
第一个:return 强制终止方法的作用。
第二个: return 返回值, 把 值扔给调用者
public class Demo4 { public static void main(String[] args) { int m = spRing(10, 20, 4); } public static int spRing(int a ,int b,int c ) { return a; System.out.println(b);//编译失败,return终止 输出语句永远执行不到。 } }
5:如果一个方法有返回值类型, 那么这个方法 则必须各个逻辑上,都应该有返回值。
方法的重载:
概念: 同一个类中 出现了方法名相同 参数列表必须不同, 返回值类型无关,这些方法相互重载。
作用: 有了重载之后, 方便程序员的记忆。 减少了负担。
class Demo { public static void show(int a){ } public static void show(int b){ // 方法重复了, 不是重载。 } public static void main(String[] args){ show(10); //因为两个show方法都能 精准匹配上 所以 无法区分调用的到底是哪个方法。 } }
class Demo { public static void show(int a){ } public static int show(int c){ // 方法重复了, 不是重载。 因为和返回值无关。 return c+1; } public static void main(String[] args){ show(10); //因为两个show方法都能 精准匹配上 所以 无法区分调用的到底是哪个方法。 } }
class Demo { public static void show(int a, double b){ } public static void show(double a, int b){ // 重载 参数类型的顺序不一样。 } public static void main(String[] args){ show(20,30.4); } }