java学习笔记--徐老师二

package File;

import java.io.File;

/**
 * 学会创建file对象,定位操做系统的文件
 */
public class FileDemo {
    public static void main(String[] args) {
        //创建file对象
        File f = new File("C:\\D\\EXE\\JDK\\lib\\tools.jar");
        long size = f.length();  //文件的字节
        System.out.println(size);

        //相对路径,一般定位模块中的文件,相对到工程下
        File f2 = new File("untitled1/src/File/pic.PNG");
        System.out.println(f2.length());

        //也可以是文件加的大小
        File f3 = new File("C:\\D");
        System.out.println(f3.exists());

    }
}

package File;

import java.io.File;
import java.text.SimpleDateFormat;

public class FileDemo2 {
    public static void main(String[] args) {
        File f = new File("untitled1/src/File/pic.PNG");
        System.out.println(f.getName());
        System.out.println(f.length());
        System.out.println(f.getAbsolutePath());   //C:\D\IdeaProjects\java-code\untitled1\src\File\pic.PNG
        System.out.println(f.getPath());  //untitled1\src\File\pic.PNG
        //获取文件最后修改时间
        long time = f.lastModified();
        System.out.println("最后的修改时间:"+new SimpleDateFormat("yyyy/MM/dd  HH:mm:ss").format(time));
        //判断是否为文件
        System.out.println(f.isFile());
        System.out.println(f.isDirectory());

    }
}

package File;

import java.io.File;

public class FileDemo3 {
    public static void main(String[] args) {
        File file = new File("C:\\D\\EXE");
        String[] files = file.list();
        for (String s : files) {
            System.out.println(s);
        }

        //listFiles方法注意事项
        //当调用者不存在时,返回null
        //当调用者是一个文件时,返回null
        //当调用者时一个空文件夹时,返回一个长度为0的数组
        //当调用者是一个有内容的文件夹时,将所有文件和文件夹的路径放在数组中返回
        //当包含隐藏文件时,将所有文件和文件夹的路径放在数组中返回
        File f2 = new File("C:\\D\\EXE");
        File[] files2 = f2.listFiles();  //只能遍历一级文件夹
        for (File f : files2) {
            System.out.println(f.getAbsolutePath());

        }
    }
}

递归:就是方法直接或间接调用自己
递归死循环:递归方法无限调用自己,出现栈内存溢出

package File;

package File;

/**
 * 体验递归,求5的阶乘  和1--n的和
 */
public class DiguiDemo {
    public static void main(String[] args) {
        int result =f(5);
        System.out.println(result);

        int res2=f2(5);
        System.out.println(res2);

        System.out.println(f3(1));
    }
    public static int f(int n){
        if (n==1){
            return 1;
        }else{
            return n*f(n-1);
        }
    }

    public static int f2(int n){
        if (n==1){
            return 1;
        }else{
            return f2(n-1)+n;
        }
    }
    //f(x)-f(x)/2-1=f(x+1)
    public static int f3(int n){
        if(n==10){
            return 1;
        }else{
            return 2*f3(n+1)+2;
        }
    }
}


上一篇:Lua简易入门教程


下一篇:babyfengshui_33c3_2016