从零开始的Java学习教程——四:方法(一)

何为方法

Java中的方法与c语言中的函数类似
在System.out.println();中
System是一个类,out是对象,println()是方法

  1. 方法是语句的集合,他们在一起可以执行一个功能
  2. 方法包含于类与对象之中
  3. 方法在程序中被创建,在其他地方被引用
  4. 方法的命名,驼峰规则

方法的定义与使用

方法的定义

格式:

修饰符 返回值类型 方法名(参数类型 参数名){

方法体

return 返回值;
}

修饰符

(可选)告诉编译器如何调用该方法

返回值类型

即该方法最终返回的值的类型,无返回值是使void

方法名

方法的实际名称,与参数列表一同构成方法签名

参数类型

参数相当于一个占位符,方法被调用时,传递值给参数,这个值被称为实参或形参,参数列表指方法的参数类型、顺序和个数

形式参数

即形参,在方法被调用时用于接收外界输入的数据

实际参数

即实参,调用方法时实际传给方法的数据

方法体

具体定义该方法功能的语句

//public表示公共的,所有人都可以访问
public class closeDown {
    //main方法
    public static void main(String[] args) {
        int a=1,b=2;
        //调用方法
        int sum =add(1,2);//这里的1,2即为实参
        System.out.println(sum);
    }
    //加法方法,public,static是修饰符,不加static不能在main中使用,其中a,b时是形参
    public static int add(int a,int b){
        return a+b;
        }
}

方法的使用

调用格式
有返回值的方法
  1. 对象名.方法名(实参列表)
  2. 对在类中创建的方法:先用类名新建一个变量,再用变量名.方法名(实参列表)
public class s01 {
    public static void main(String[] args) {
        s01 s=new s01();//使用类名新建一个变量
        s01.test(1,2);//调用方法
    }
    public static int test(int a, int b){
        return (a>b)?a:b;
    }
}
无返回值的方法

调用方法一定是一条语句
例如:System.out.println();

另外,可以自行了解一下值传递(Java)和引用传递

方法重载

即在一个类中,有名称相同但形参不同的函数

规则

  1. 方法名称相同
  2. 参数列表不同(个数、类型、顺序)
  3. 返回类型可以相等也可以不等
  4. 仅仅返回类型不同不足以成为方法的重载

原理

方法名相同时,编译器会根据参数列表是否相同逐个匹配,如果匹配失败则会报错

示例

我们很容易写一个比较两个整数大小的方法,但也仅限于整数,利用方法重载可以实现多种数据类型的比较,在此我们实现了整数和小鼠的比较

public class s01 {
    public static void main(String[] args) {
         int a=10,b=20;
         float c=13.5f,d=3.14f;![在这里插入图片描述](https://img-blog.csdnimg.cn/76e29f9dd6084e3ab1fbabc724f45037.png#pic_center)

        System.out.println(max(a,b));
        System.out.println(max(c,d));
    }
    public static int max(int a,int b)
    {
        return (a>b)?a:b;
    }
    public static float max(float a,float b)
    {
        return (a>b)?a:b;
    }
}

命令行传参

有时你希望运行一个程序时再传递给它消息,这时要靠命令行参数给main()函数实现
你可以点击idea左下角的终端
在这里插入图片描述
此时它的默认路径为practice的路径,我们也可以在这里进行命令控制符的操作
在这里插入图片描述
找到Java文件所在目录后使用javac命令编译文件,再使用java命令运行,我们会发现无法运行,此时我们回到src目录,即可运行程序,以对如下代码的java文件操作为演示

public class Demo03 {
    public static void main(String[] args) {
     for(int i=0;i< args.length;i++)//args.length为数组的元素个数
     {
         System.out.println("args["+i+"]:"+args[i]);//这里表示输出该下标对应的元素
     }
    }//这里不懂没关系,后米我们会学习数组
}

在这里插入图片描述
在这里插入图片描述

可变参数

也叫不定项参数,在方法声明中,在指定参数类型后加一个省略号(…)

public class s01 {
    public static void main(String[] args) {
   s01 s=new s01();
   s.test(1,2,3,4,5);
    }
    //调用方法时传入了多少个值,就有多少值被这个数组接收
    public static void test(int... i){
        System.out.println(i[0]);//相当于打印数组第一个元素
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);
        System.out.println(i[4]);
    }
}

注意一个方法中只能有一个可变参数,且必须是该方法的最后一个参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_bxzzy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值