JAVA方法详解
教学大纲
- 何谓方法
- 方法的定义和调用
- 方法重载
- 命令行传参
- 可变参数
- 递归
何谓方法
System.out.println() 类/对象/方法
JAVA方法是语句的集合,它们在一起执行一个功能,方法命名规则:首字母小写,驼峰命名规则
JAVA方法是语句的集合,他们在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象
- 方法在程序中被创建,在其他地方引用
- 一个方法只完成一个功能,有利于后期扩展,保持方法的原子性
方法的定义和调用
方法是一段用于完成特定功能的代码片段
方法包括一个方法头和方法体,下面是一个方法的所有部分:
- 修饰符,定义了该方法的访问类型
- 返回值 void表示不返回
- 方法名
- 参数类型 实际参数(1,2)和形式参数(a,b)
- 方法体
修饰符 返回值类型 方法名 (参数类型,参数名){
方法体
return 返回值
}
JAVA是值传递,而不是引用传递
package com.liulibin.blog.experiences.method;
public class Demo2 {
public static void main(String[] args) {
int A = max (20,20);
System.out.println(A);
}
//比大小
public static int max(int num1, int num2){
int result= 0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if (num1>num2){
result = num1;
}else{
result=num2;
}
return result;
}
}
方法和库都能直接调用
方法的重载
重载就是在一个类中,有相同的函数名称,但是形参不同的函数
package com.liulibin.blog.experiences.method;
public class Demo2 {
public static void main(String[] args) {
double A = max(20.1, 20.1);
System.out.println(A);
}
//比大小
public static int max(int num1, int num2) {
int result = 0;
if (num1 == num2) {
System.out.println("num1==num2");
return 0; //终止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
//重载
public static double max(double num1, double num2) {
double result = 0.0;
if (num1 == num2) {
System.out.println("num1==num2");
return 0; //终止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
}
命令行传递参数
可变参数(不定项参数)
在方法的声明中,在指定参数类型后加一个省略号...
可变参数必须在最后
递归(重点)
A方法调用A方法自己即递归
递归能大大减少程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合
递归结构包括递归头(什么时候不调用自身,如果没有投将陷入死循环)和递归体(什么时候需要调用自身方法)
package com.liulibin.blog.experiences.method;
public class Demo4 {
// 5! 5*4*3*2*1
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
边界条件:边界,前阶段,返回阶段n*f(n-1)
递归方便了程序员,但是苦了电脑,占用了大量的电脑内存
能不用递归就不用递归,可以处理一些简单问题
0条评论