第四天学Java(随记)

文章介绍了Java中方法的定义与使用,包括无参无返回值、有参无返回值、有参有返回值的方法,强调了方法在减少代码重复、提高代码独立性方面的优势。同时,文章讲解了形参与实参的概念,以及方法返回值的意义。此外,还讨论了方法重载的概念和好处,并给出了实例。最后,文章提到了方法中的参数传递,特别是基本数据类型和引用数据类型的区别。
摘要由CSDN通过智能技术生成

方法

概念:

一种语法结构

好处:

减少重复代码的使用,使代码功能更加独立,一个方法对应一种功能;方便后期对其进行维护与修改

方法格式

无参无返回值型

定义格式:
public static void 方法名(){

}
调用方法:

在要使用方法的类中使用:方法名();

有参无返回值

定义格式:
public static void 方法名(数据类型 变量名 , 数据类型 变量名.... ){

}
调用格式:

方法名(值, 值...);

有参的优点:

可以接种类型的不同的值,提高代码的通用性

形参与实参:
形参:

写在方法的参数列表位置

如下:

public void swap(int a, int b) {

int temp = a;

a = b; // a,b就是形参

b = temp;

System.out.println("a:" + a + " b:" + b);

}
实参:

调用方法时,括号里面的数据

如下:

public static void main(String[] args) {

int num = 3;

printVal(num); //这里num是实参,调用方法名为printVal的方法

}



private static void printVal(int num) {

num = 5; //这里num就是形参

}

有参有返回值

定义格式:
public static 数据类型 方法名(数据类型 变量名 , 数据类型 变量名.... ){

return 值;

}

Tips:方法返回的数据类型决定了方法的定义类型,既return后的数据值是什么数据类型,则方法定义时就是什么数据类型

调用格式:
直接调用:

方法名(值,值....);

如下:

package Webcode;
​
import java.util.Random;
​
public class methodCode {
  public static void main(String[] args) {
        num();
    }
​
public static int num() {
    Random r = new Random();
    int number = r.nextInt(1, 101);
    System.out.println(number;
    return number;
}
                       
}

该代码串中主函数直接调用了num方法,然后输出了1-100的随记整数

赋值调用:

数据类型 变量名= 方法名(值, 值...);

如下:

package Webcode;
​
import java.util.Random;
​
public class methodCode {
    public static void main(String[] args) {
        int number =num();
        System.out.println(number);
    }
​
    public static int num() {
        Random r = new Random();
        int number = r.nextInt(1, 101);
        return number;
    }
}

代码中在主函数中调用了num方法,使用了number去接受num方法返回的1-100的随机整数值,并将number输出

输出调用:

System.out.println(方法名(值, 值...));

如下:

package Webcode;
​
import java.util.Random;
​
public class methodCode {
  public static void main(String[] args) {
        System.out.println(num());
    }
​
public static int num() {
    Random r = new Random();
    int number = r.nextInt(1, 101);
    return number;
}
    
}

代码串中在主函数直接调用num方法后并将其返回的值输出

返回值的意义:

可以把自定义方法的结果返回给方法调用(main)的地方进行下一步使用

方法的注意事项:

注意事项:

  1. 方法不能被嵌套定义

  2. 方法的返回值类型如果是void , 可以写return,但是return后面不能写值

  3. return 后面不能继续写代码

  4. 定义方法时,如果有返回值,需要考虑方法的完整性

下面方法定义正确的是: D

A、 public static void method1() {
    public static void method2() {
        
    }// 方法嵌套
}
B、 public static boolean method2(int a ) {
    if(a % 2 == 0){
        return true;
    }else{
        return false;
    }// 使用了return,其后不能写代码
    System.out.println("方法调用结束");
}
C、 public static boolean method3(int a) {
    if(a > 10 ){
        return true;
    }else if(a < 10){
        return false;
    }
}// 使用if-else语句,但未考虑其中两个条件都未满足的情况
D、 public static void method4() {
        
}

方法重载:

概念:

同一个类,方法名字相同,参数列表不同(参数的个数不同 || 对应位置的参数类型不同)

特点

JVM会根据方法上面的参数,对应的调用方法;方法重载的时候,不用考虑返回值类型

好处:

方便调用

代码实现如下:

package Webcode;
​
public class methodCode01 {
    public static void main(String[] args) {
        //A.
                method(5);
        //B.
                method(6.6);
        //C.
                method("a");
    }
    public static void method(int a){
        System.out.println("test");
    }
    public static void method(double a){
        System.out.println(999);
    }
    public static void method(String a){
        System.out.println("您猜对了!");
    }
}
  //以下调用中能输出 您猜对了 (C)

方法的参数参数传递:

基本数据类型:

形参的改变,不会影响实参

引用数据类型:

形参的改变,会影响实参【String除外】

如:

public static void main(String[] args) {

int num = 3;

printVal(num); //这里num是实参,调用方法名为printVal的方法

System.out.println(num);// 此时num输出的值仍为3



int []arr = {0,2,3,4};

Changearr(arr);

System.out.println(Arrays.toString(arr));

}

private static void printVal(int num) {

num = 5; //这里num就是形参,因为是基本类型所以改变形参不会对主函数中的实参有影响

}

public static void Changearr(int []arr){
    arr[0] = 1;// 这里arr[0]是形参,但数组为引用类型数据,所以改变它之后,若主函数调用该方法,则主函数中调用该方法的数组中索引为0的元素将改为1
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值