zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    

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

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

    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
        }
    }
    
    自学java,请多多指教!
  • 相关阅读:
    JavaScript实现html购物车代码
    SQLServer2019安装教程
    SQLServer2019安装教程
    pragma指令简介
    16进制字符串转数字(C/C++,VB/VB.net,C#)
    对方网络非正常断开检测方法
    stl map高效遍历删除的方法
    memmove 和 memcpy的区别
    Socket 心跳包机制总结
    如何将内存中的位图数据绘制在DC上
  • 原文地址:https://www.cnblogs.com/fanfada/p/13735469.html
Copyright © 2011-2022 走看看