Math类,File类初步

Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数;其方法的参数和返回值类型一般为double型。

abs		//绝对值
acos,asin,atan,cos,sin,tan		//三角函数
sqrt		//平方根
pow(double a, double b)		//a的b次幂
log		//自然对数
exp   //e为底指数	
max(double a, double b)  	
min(double a,  double b)
random()		//返回0.0到1.0的随机数
long round(double a)  	//double型的数据a转换为long型
toDegrees(double angrad)
toRadians(double  angdeg)

例子:

public	class	Test{
	public	static void	main(String [] args){
		//定义两个double类型的随机数 a,b
		double a = Math.random();	
		double b = Math.random();
		
		System.out.println(Math.sqrt(a*a+b*b)); //求a平方和b平方的和求平方根
		System.out.println(Math.pow(a.8));	//求a的8次幂
		System.out.println(Math.round(b));	//对b四舍五入,四舍五入到一个long类型的数
		System.out.println(Math.log(Math.pow(Math.E,15)));	/*因为可以直接访问,所以可以看出来Math.E是一个静态常量,
																求log 以E为底,E的15次方的对数*/
		double d = 60.0, r = Math.PI/4;		//d为角度,转换为弧度   
		//打印
		System.out.println(Math.toRadians(d));
		System.out.println(Math.toDegrees(r));
	}
}

File类:

java.io.File类代表系统文件名(路径和文件名)。
File类的常见构造方法:

1:public File(String pathname)
以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user。dir中储存。
2:public File(String parent, String child)
以parent为父路径,child为子路径创建File对象

File常用方法:
通过File对象可以访问文件的属性。
public boolean canRead()		//可读?
public boolean	canWrite()		//可写?
public boolean	exists()		//存在?
public boolean	isDirectory()	//是一个目录?
public boolean	isFile()		//是一个文件?
public boolean	isHidden()		//是不是隐藏的
public	long	lastModified()	//上次修改的时间
public	long	length()		//长度

public	String	getName()	//名称
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";
		
		File f = new File(directory,filename); //构造方法,创建一个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();
			}
		}
	}
}

FIle练习:

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

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);		//调用方法,第一次调用方法输出的是A的子类,level=1,缩进一次
	}
	
	private static void tree(File f,int level){		//定义一个int类型数据 level,呈现其层次
		
		String preStr = "";
		for(int i=0;i<level; i++){
			preStr += "    ";
		}
		
		File[] childs = f.listFiles();		//定义一个File类型的数组,元素是当前目录下的子文件
		for(int i=0;i<childs.length;i++){	
			System.out.println(childs[i].getName()); //打印文件夹名称
			//下面找子类的子类
			if(childs[i].isDirectory()){	//如果子类是目录,继续调用
				tree(childs[i],level + 1);	//之后每次都多缩进一次
			}
		}
	}
}
File的静 态属性String separator储存了当前系统的路径分隔符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值