Java方法

Java方法

简述:方法就是一段代码块,不调用就不执行。

定义:方法必须创建之后才能使用,这个过程称之为方法定义。

调用:方法定义好之后需要手动的去调用才可以执行,这个过程叫做方法调用。

方法定义的格式:

public static void 方法名(){
    代码块...
}

方法和方法之间是平级关系,不能嵌套使用

众所周知,这个是主方法

public static void main(String[] args) {
	代码块...
}

所以格式为

public static void main(String[] args) {
 	代码块...
 }
public static void 方法名(){
    代码块...
}

调用就更加的简单了

public static void main(String[] args) {
 	ico();
    // 这里调用方法,输出结果:方法的输出
 }
public static void ico(){
    System.err.println("方法的输出");
}

方法中使用方法。

public static void main(String[] args) {
 	ico();
    // 这里调用方法,输出结果:
    // student方法的输出
    // ico方法的输出,
 }
public static void ico(){
    student();
    System.err.println("ico方法的输出");
}
public static void student(){
    System.err.println("student方法的输出");
}
带参数的方法的定义和调用

格式

public static void 方法名(类型 参数名){
    代码块...
}
public static void 方法名(类型 参数名,类型 参数名...){
    代码块...
}

需要注意的是,只要这个方法定义的时候带有参数,那么调用的时候就必须要有参数传进来,不然就会报错。

public static void main(String[] args) {
    ico();   // 会出错
 	ico(10); // 这里调用方法,输出结果:10
 }
public static void ico(int num){
    System.err.println(num);
}
  • 形参:全程形式的参数,是指方法定义的参数。
  • 实参:全程实际参数,方法调用中的参数。
带返回值的方法的定义和调用

我们经常会根据一个方法产出的结果,去组织另外一段代码逻辑,为了这个方法产出的结果,就需要定义带有返回值的方法。

格式

public static 数据类型 方法名(类型 参数名){
    return 数据;
}
// 例:
public static int Num(int b){
	int a = b + 1;
    return a;
}

注意点:方法定义时return后面的返回值与方法定义上的数据类型要相匹配,否则程序将会报错。

例:这里将两个数值传进方法,计算结果

public static void main(String[] args) {
    // 声名一个变量来接收结果
    int num = ico(12,23);
    System.out.println(num);
    // 或者直接输出
    System.out.println(ico(10, 23));
 }
public static int ico(int num, int num1){ 
    // 返回的类型要和方法上的l
    return num + num1;
}

方法的返回值一般都会用一个变量来接收,否则毫无意义。

方法的注意事项
  • 方法不能嵌套使用。
  • 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句,如果要编写return语句,那么return后面不能编写具体的数值。例:return 100.这样是错误的写法。
  • 在同一个作用域里,return语句下面,不可以再次编写代码,因为执行不到,所以是属于无效的代码。
  • return:可以用于结束方法,也就是将方法从栈内存中弹出去,这个过程称之为方法的弹栈。
方法的重载
  • 在同一个类中,定义了多个同名的方法,但每个方法都具有不同的参数类型或者参数个数。就构成了重载的关系。
  • 简单的说法:同一个方法,参数不同的方法。
  • 参数不同:数量不同,类型不同,顺序不同。

例:

public static void ico(){ 
    方法体...
}
public static void ico(int num){ 
    方法体...
}
// 数量不同
public static void ico(int num,int num1){ 
    方法体...
}
// 类型不同
public static void ico(Boolean bool){ 
    方法体...
}
// 顺序不同(后面两个作比较)
public static void ico(int num,Boolean bool){ 
    方法体...
}
public static void ico(Boolean bool,int num){ 
    方法体...
}

以上所有的方法都已经构成了重载。

是否构成饿了重载关系,只看参数的数量、类型和顺序,和返回值没有任何关系。

方法的参数传递
  • 方法传递为基本数据类型,传入方法中的是在具体的数值。
  • 方法传递为引用数据类型,传入方法中的是内存地址。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值