08java的方法

什么是方法?

  • 可以把方法理解为C语言的函数,为了完成某个功能而编写的代码块,这个代码块可以被调用。
  • 方法的命名规则是:首字母小写+驼峰原则

下面是java定义的方法:

同理:

下面是关于方法的一个例子:

package MethodDemo;

public class Demo01 {
    public static void main(String[] args) {
        int sum=add(3,5);
        System.out.println(sum);
    }
    public static int add(int a,int b){
        return a+b;
    }
}
package MethodDemo;

public class Demo01 {
    public static void main(String[] args) {
        Demo01 demo=new Demo01();
        int sum=demo.add(3,5);
        System.out.println(sum);
    }
    public  int add(int a,int b){
        return a+b;
    }
}

下面是两个程序的对比图:

对比一下两个程序的区别我们发现一些事情:

扫描二维码关注公众号,回复: 13120495 查看本文章
  1. 有没有修饰符“static”。在“04java基础知识”一文中,我们知道变量有三种:类变量、实例变量和局部变量。类变量是写在类里面main方法外面的,加上修饰符“static”的变量,它的特点是可以直接在方法里面使用,类似于“全局变量”。而不加修饰符“static”的变量(写在类里面main方法外面的)叫做实例变量,要想在方法里面使用,必须先new一个类,然后通过类来调用这个实例变量。那么对于这里的方法也是同理,不加修饰符“static”的方法,我给他取个名字叫“实例方法”(虽然我不知道有没有这个名字,姑且先这样叫吧),那么在main方法里面使用这个“实例方法”就要先new一个类,然后通过这个类来调用这个是“实例方法”,如右边的程序。而对于左边的程序,使用了修饰符“static”,那它就是一个“类方法”,可以在main方法中使用类名直接调用。
  2. 修饰符“public”表示这个方法是公共的
  3. main方法的返回值类型是void,而add方法的返回值类型是int。main方法是主方法,运行完结束(至少目前对我来说是这样的),不需要返回值。但是add方法是计算两数之和,需要返回一个int型的数,所以返回值类型指定为int。
  4. 实参和形参。
  • 方法的练习实例
package MethodDemo;

import java.util.Scanner;

public interface Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//创建扫描器对象
        System.out.println("Please input the first figure:");
        double a= scanner.nextDouble();//创建一个接受对象
        System.out.println("Please input the second figure:");
        double b= scanner.nextDouble();
        double c=compile(a,b);
        if(c>0){
            System.out.println(a+">"+b);
        }if(c<0){
            System.out.println(a+"<"+b);
        }else{
            System.out.println(a+"="+b);
        }
        scanner.close();
    }
    public static double compile(double a,double b){
        return a-b;
    }
}

虽然上面的代码可以正常实现的数值比较,但是很多冗余代码放在了main方法中,并没有完全体现方法的优势,下面重新写一个版本。

package MethodDemo;

import java.util.Scanner;

public interface Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//创建扫描器对象
        System.out.println("Please input the first figure:");
        double a = scanner.nextDouble();//创建一个接受对象
        System.out.println("Please input the second figure:");
        double b = scanner.nextDouble();
        compile(a, b);
        scanner.close();
    }

    public static void compile(double a, double b) {
        if (a - b > 0) {
            System.out.println(a + ">" + b);
        } else if (a - b < 0) {
            System.out.println(a + "<" + b);
        } else {
            System.out.println(a + "=" + b);
        }
//        return 0;//不需要return
    }
}

猜你喜欢

转载自blog.csdn.net/fada_is_in_the_way/article/details/109303070