Java-常用类(三)——Math类、File类 、Enum类

一、Math类

  • java.lang.Math提供了一系列静态方法用于科学计算。
  • 其方法的参数和返回值类型一般为double型。
  • final修饰了,因此该类是不能被继承的。
public static int abs(int a)					
// 返回参数的绝对值
public static double ceil(double a)				
// 返回大于或等于参数的最小整数
public static double floor(double a)			
// 返回小于或等于参数的最大整数
public static int round(float a)				
// 按照四舍五入返回最接近参数的int类型的值
public static int max(int a,int b)				
// 获取两个int值中的较大值
public static int min(int a,int b)				
// 获取两个int值中的较小值
public static double pow (double a,double b)	
// 计算a的b次幂的值
public static double random()					
// 返回一个[0.0,1.0)的随机值
acos,asin,atan,cos,sin,tan
sqrt平方根
pow(double a, double b) a的b次幂log自然对数
exp e为底指数
toDegrees(double angrad)弧度->角度
toRadians(double angdeg)角度->弧度

例:
在这里插入图片描述

二、File类

  • java.io.File类代表系统文件名(路径和文件名)。
  • File类的常见构造方法:
    public File (String pathname)
    //以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
    public File (String parent ,String child)
    //以parent为父路径,child为子路径创建File对象。
    
  • File的静态属性String separator存储了当前系统的路径分隔符。
  • 通过File对象可以访问文件的属性。
    public boolean canRead()//是否可读
    public boolean canwrite()//是否可写
    public boolean exists()//是否存在
    public boolean isDirectory()//是不是目录
    public boolean isFile()//是不是文件
    public boolean isHidden()//是不是隐藏
    public long lastModified()//上次修改的时间ms
    public long length()//文件内容长度
    public string getNane()//名字
    public String getPath()//路径
    
  • 通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)。
    public boolean createNewFile() throws IOException
    public boolean delete()
    public boolean mkdir()
    public boolean mkdirs()//创建在路径中的一系列目录
    

例:

import java.io.*;
public class TestFile {
  public static void main(String[] args) {
    String separator = File.separator;
    String filename = "myfile.txt";
    String directory = "mydir1" + separator + "mydir2";
    //String directory = "mydir1/mydir2";
    //String directory = "mydir1\\mydir2";
    File f = new File(directory, filename);
    if (f.exists()) {
      System.out.println("文件名:" + f.getAbsolutePath());
      System.out.println("文件大小:" + f.length());
    } else {
      f.getParentFile().mkdirs();
      try {
        f.createNewFile();
      } catch (IOException e) {
       e.printStackTrace();
      }
    }
  }
}

练习
编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)。

import java.io.*;
public class FileList {
	public static void main(String[] args) {
		File f = new File("d:/A");
		System.out.println(f.getName());
		tree(f, 1);
	}
	
	private static void tree(File f, int level) {	
		String preStr = "";
		for(int i=0; i<level; i++) {
			preStr += "    ";
		}
		File[] childs = f.listFiles();
		for(int i=0; i<childs.length; i++) {
			System.out.println(preStr + childs[i].getName());
			if(childs[i].isDirectory()) {
				tree(childs[i], level + 1);
			}
		}
	}	
}

三、Enum类

  • 枚举类型:只能够取特定值中的一个;使用enum关键字;是java.lang Enum类
    例:
public class TestEnum {
	public enum MyColor { red, green, blue };
	public enum MyDoorOpener {me, mywife};
	
	public static void main(String[] args) {
		MyColor m = MyColor.red;
		switch(m) {
			case red:
				System.out.println("red");
				break;
			case green:
				System.out.println("green");
				break;
			default:
				System.out.println("default");
		}
		System.out.println(m);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值