您当前的位置: 首页 >  Java

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaSE中的方法

梁云亮 发布时间:2021-09-28 20:43:52 ,浏览量:2

方法定义语法:

访问控制修饰符 返回值类型 方法名(数据类型 形参1,数据类型 形参2……){ return语句; }

说明:

  • 访问控制修饰符可以是public、protected、默认(什么都不写)、private
  • 如果方法没有返回值,返回值类型为void,方法体中的return语句可以省略,当然也可以写
  • 如果方法有返回值,返回值的类型和return语句的类型必须一致

示例:

public class DemoTest {
    public static void main(String[] args) {
        fun1();
        fun2(); //alt+enter

        int a = fun3();

        String b = fun4();
    }

    private static String fun4() {
        return null;
    }

    private static int fun3() {
        return 0;
    }

    private static void fun2() {
    }


    public static void fun1(){
        return;
    }
}
方法重载

方法重载:一个类中出现的多个方法名称相同但参数不同(参数个数不同、参数类型不同、参数顺序不同)的一系列方法。 注意:方法重载仅仅是和方法的参数有关,和方法返回值类型没有任何关系。

示例:

public class DemoTest {
    public void fun() {

    }

    public void fun(int a) {

    }

    public void fun(String b) {

    }

    public void fun(int a, String b) {

    }

    public void fun(String b, int a) {

    }
}
方法的调用

语法规范

  • 普通方法之间可以相互调用
  • 静态方法之间可以相互调用
  • 普通方法可以直接调用静态方法
  • 静态方法必须通过类的对象才能调用普通方法

示例:

public class DemoTest {
    public void fun1() { //普通方法
        fun2();//普通方法之间可以相互调用
    }

    public void fun2() {//普通方法
        fun4(); //普通方法可以直接调用静态方法
    }

    public static void fun3() {//静态方法
        fun4(); //静态方法之间可以相互调用
    }

    public static void fun4() {//静态方法
        //静态方法必须通过类的对象才能调用普通方法
        final DemoTest obj = new DemoTest();
        obj.fun1();
    }
}
方法递归

方法递归,指的是方法调用它自己。

示例:求非波那契数列(1 1 2 3 5 8 13 21 34 55 89 ……)第n项的值

public class DemoTest {
    public static void main(String[] args) {
        final DemoTest obj = new DemoTest();
        System.out.println(obj.fun(40));
    }

    /**
     * 求第n项的值
     * @param n
     * @return
     */
    public int fun(int n){
        if (n==1 || n ==2) {
            return 1;
        }
        return fun(n-1)+fun(n-2);
    }
}

示例:列出某一文件夹及其子文件夹中所有的文件

public class DemoTest {

	public void list(File file) {
		file.listFiles(f -> {
			if (f.isFile()) {
				// 如果是文件,输出
				System.out.println(f.getName());
			} else {
				// 如果是文件夹,继续遍历
				list(f);
			}
			return true;
		});
	}

	public static void main(String[] args) {
		File file = new File("D:\\FTP\\workspace\\demo0301");

		new DemoTest().list(file);
	}

}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0454s