2018-12-13

方法定义及调用

访问控制符] [修饰符] 返回值类型 方法名(参数类型 形式参数,参数类型 形式参数,…){
方法体

根据参数个数:
无参方法:
有参方法:

参数类型为基本数据类型
参数类型为引用数据类型
根据返回值类型:
有返回值的方法:
返回值类型为基本数据类型
返回值类型为引用数据类型
无返回值的方法
返回值类型使用void关键字

public static int add(int x,int y) { 
int z=x+y; 
return z;
 }
static void drawRect(int width,int height){
for(int i=0;i<height;i++){
for(int j=0;j<width;j++){
System.out.print("#");
}
System.out.println();
}
}
方法返回值
public static int absolut(int x){
if(x>=0){
return x;
}
else{
return -x;
}
}

该方法体有两个return 语句,但是只有一个return语句能被执行。
方法的返回类型可以是java中的任何数据类型: 基本数据类型(4种整型、2种浮点型、字符型、布尔型共8种) 引用数据类型(数组、类、接口)

方法的调用

无返回值无参方法的调用同一个类
下的静态方法

public void  static getmin(){
System.out.print("222");
} 
public static void main (System.in){
  getmin();
}

无返回值有参数的方法调用

public static void getmin(int s , int d){
System.out.print(s+d);
} 
public static void main (System.in){
  getmin(2 , 3);
}

有参数有返回值得方法掉用

public static int getmin(int s , int d){
  return s+d;
} 
public static void main (System.in){
  int a = getmin(2,3);
  getmin(2,3);//也可以不声明变量接收方法返回的值。
}

方法中改变形参值

基本数据类型和应用数据类型比较
public static void getx(int a ){
x= 3*x;
}
public static void gety(int b){
y[0] = 3*y[0];
}
public static void main (String[] args){
int x= 10;
System.out.print("x调用方法前:"+x);
getx(x);
System.out.print("x调用方法前:"+x);
int [] y = {10};
System.out.print("x调用方法前:"+x);
gety(y);
System.out.print("x调用方法前:"+x);
}
//输出结果
//x调用方法前:10
//x调用方法前:10
//y调用方法前:10
//y调用方法前:30

方法注意问题

1.形参必须注明数据类型。
2.实参直接写, 不需要类型生命。
3.return只能返回一次。
4.遇到return语句,方法结束执行,后续语句不执行;
5.方法的返回值,必须与方法声明中的返回值类型匹配。
6.方法定义,不能雪灾 main()方法中。
7.方法是不能嵌套的。

递归调用方法

递归方法:一个方法体内调用它自身,这样的方法我们称之为方法的递归。
递归方法的特点:方法递归包含了一种隐式的循环,他会重复执行某段代码,但这种重复执行无须循环控制。

public static int show(int x){
if(x>0){
x--;
return;
}else{
return 0;
}
}
public static void main(String[] args){
show(2);
}
//输出0
注释:递归方法占用的内存比较大所以不适合进行大数据量的进行多次的递归。

方法的重载

方法的重载(overload)

方法的重载就是在同一个类中允许同时存在一个以上同名的方法

方法重载的规则

方法名称相同
方法的参数必须不同
1.参数个数不同 或
2.参数类型不同
方法的返回值类型可以不相同,也可以不同
示例:

class SumFunc{
  public int gerSum(int end){
int sum = 0 ;
for(int i = 0 ;i <= end;i++){
sum += i ;
}
return sum;
}
public int getSum(int start , int end){
int sum = 0;
for(int i = start;i < end ;i++){
sum += i;
}
return sum;
}
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,876评论 2 9
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,544评论 1 51
  • 方法 一、 为什么使用方法 方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数)...
    拾起_518阅读 381评论 0 0
  • 一个人之所以能够主动表达自己的想法与需要,是因为他对于积极回应的良好预期,这种预期来源于无数次的积极经历。 相反,...
    漠然老师阅读 253评论 0 0
  • 只有变态的条件才需要用到变态的汽车。飞度挺好的,捷达更好。
    liuyi543阅读 233评论 0 0