什么是方法
1.方法是解决事情的办法 | 定义功能的代码块
2.作用
- 方法可以简化代码.提高代码的复用性
3.注意:
- 方法不调用不执行
- 方法定义在类中主方法外,方法不能嵌套
4.语法:
- 有返回值类型的方法
- 修饰符 返回值类型 方法名(参数列表){
具体功能的代码;
return 返回值;
}
- 修饰符 返回值类型 方法名(参数列表){
//定义一个方法,返回一个pi的值
//返回值:需要 double 参数: 没有参数
public static double getPI(){
System.out.println("这是一个有返回值,没有参数的方法");
return 3.1415926;
}
//求2个整数的和
//返回值:有 int 参数:2个 int a,int b
public static int getSum(int a,int b){
System.out.println("这是一个有返回值,有参数的方法");
return a+b;
}
- 没有返回值的类型
- 修饰符 void 方法名(参数列表){
方法体语句;
return; //可以写可以不写
} - 调用方法:
直接调用:方法名(参数列表);
- 修饰符 void 方法名(参数列表){
//打印99乘法表
//返回值:没有 参数:没有
public static void print(){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
//求一个区间范围内所有整数的和
//返回值:没有 参数:区间数int min,int max 要求:第一个参数不能>第二个参数
public static void getSum(int min,int max){
if(min>max){
System.out.println("第一个参数不能>第二个参数");
return;
}
int sum=0;
for(int i=min;i<=max;i++){
sum+=i;
}
System.out.println("sum="+sum);
}
5.说明:
- 修饰符:
- 访问权限修饰符 public static(默认,具体面向对象讲)
- 返回值类型:
- 方法运算后结果的数据类型 (基本数据类型|引用数据类型)
- 方法名:
- 方法的名字. 调用方法必须使用方法名调用(遵循标识符的要求)
- 参数列表:
- 参数个数可以是0个,可以是多个
- 定义方法的时候,如果未知的数据|不确定的|可变的数据,定义在参数列表上
- 参数定义时,相当于一个局部变量的声明
- 只作用域在当前所定义的方法中
- 参数定义的方式:数据类型 参数名,数据类型 参数名,…
- {}:解决具体功能的代码
- return:
- 提前结束方法
- 带出返回值:返回值返回给方法的调用者
6.方法的调用(主方法中调用)
- 直接调用
- 方法名(参数列表);
- 简单,但是无法拿到返回值
- 赋值调用
- 数据类型 变量名=方法名();
- 输出调用
- System.out.println(方法名());
7.方法的参数
- 形式参数|形参:
- 定义方法的时候,()中的参数,局部变量的声明
- 实际参数|实参:
- 调用方法的时候,()中的内容,局部变量的赋值
- 实参和形参要一一对应
- 没有形参,不能传实参
- 兼容性问题
- 实参的数据类型 <= 形参的数据类型
- 接收返回值变量的类型 >= 返回值类型 >= return后数据的类型
return
1.有返回值类型方法中:
- 提前结束方法
- 带出返回值
2.没有返回值类型的方法中
- 提前结束方法
3.如果在一个方法中遇到return,能执行到的return后面不能写内容
- 拓展:
- 不可达语句:
- 1.return
- 2.死循环的后面
- 3.break
- 4.while…false
- 5.continue
- 不可达语句: