目录

一.Math 类

二.Random 类

三.File类

四.枚举

一.Math 类

java.lang.Math 提供了一系列静态方法用于科学计算;常用方法如下:

abs 绝对值 acos,asin,atan,cos,sin,tan 三角函数 sqrt 平方根 pow(double a, double b) a 的 b 次幂 max(double a, double b) 取大值 min(double a, double b) 取小值 ceil(double a) 大于 a 的最小整数 floor(double a) 小于 a 的最大整数 random() 返回 0.0 到 1.0 的随机数 long round(double a) double 型的数据 a 转换为 long 型(四舍五入) toDegrees(double angrad) 弧度->角度 toRadians(double angdeg) 角度->弧度

【示例】Math 类的常用方法

public class TestMath {

public static void main(String[ ] args) {

//取整相关操作

System.out.println(Math.ceil(3.2));

System.out.println(Math.floor(3.2));

System.out.println(Math.round(3.2));

System.out.println(Math.round(3.8));

//绝对值、开方、a 的 b 次幂等操作

System.out.println(Math.abs(-45));

System.out.println(Math.sqrt(64));

System.out.println(Math.pow(5, 2));

System.out.println(Math.pow(2, 5));

//Math 类中常用的常量

System.out.println(Math.PI);

System.out.println(Math.E);

//随机数

System.out.println(Math.random());// [0,1)

}

}

输出:

二.Random 类

Random 类: 专门用来生成随机数。

import java.util.Random;

public class TestRandom {

public static void main(String[ ] args) {

Random rand = new Random();

//随机生成[0,1)之间的 double 类型的数据

System.out.println(rand.nextDouble());

//随机生成 int 类型允许范围之内的整型数据

System.out.println(rand.nextInt());

//随机生成[0,1)之间的 float 类型的数据

System.out.println(rand.nextFloat());

//随机生成 false 或者 true

System.out.println(rand.nextBoolean());

//随机生成[0,10)之间的 int 类型的数据

System.out.print(rand.nextInt(10));

//随机生成[20,30)之间的 int 类型的数据

System.out.print(20 + rand.nextInt(10));

}

}

注意

Random 类位于 java.util 包下。

三.File类

File 类的基本用法

java.io.File 类:代表文件和目录,用于:读取文件、创建文件、删除文件、修改文件。

【示例】使用 File 类创建文件

File 类的常见构造方法:public File(String pathname)

以 pathname 为路径创建 File 对象,如果 pathname 是相对路径,则默认的当前路径在系统属性 user.dir 中存储。

import java.io.File;

public class TestFile1 {

public static void main(String[ ] args) throws Exception {

System.out.println(System.getProperty("user.dir"));

File f = new File("a.txt"); //相对路径:默认放到 user.dir 目录下面

f.createNewFile();//创建文件

File f2 = new File("d:/b.txt");//绝对路径

f2.createNewFile();

}

}

user.dir 就是本项目的目录。上面代码执行后,在本项目和 D 盘下都生成了新的文件。

通过 File 对象可以访问文件的属性:

【示例】使用 File 类访问文件或目录属性

输出:

通过 File 对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

【示例】使用 mkdir 创建目录

import java.io.File;

public class TestFile3 {

public static void main(String[ ] args) throws Exception {

File f = new File("d:/c.txt");

f.createNewFile(); // 会在 d 盘下面生成 c.txt 文件

f.delete(); // 将该文件或目录从硬盘上删除

File f2 = new File("d:/电影/华语/大陆");

boolean flag = f2.mkdir(); //目录结构中有一个不存在,则不会创建整个目录树

System.out.println(flag);//创建失败

}

}

【示例】使用 mkdirs 创建目录

import java.io.File;

public class TestFile4 {

public static void main(String[ ] args) throws Exception {

File f = new File("d:/c.txt");

f.createNewFile(); // 会在 d 盘下面生成 c.txt 文件

f.delete(); // 将该文件或目录从硬盘上删除

File f2 = new File("d:/电影/华语/大陆");

boolean flag = f2.mkdirs();//目录结构中有一个不存在也没关系;创建整个目录树

System.out.println(flag);//创建成功

}

}

 递归遍历目录结构和树状展现

【示例】使用递归算法,以树状结构展示目录树

import java.io.File;

public class Test {

public static void main(String[] args) {

File f = new File("D:\\BaiduNetdiskDownload");

printFile(f, 0);

}

/**

* 打印文件信息

*

* @param file 文件名称

* @param level 层次数(实际就是:第几次递归调用)

*/

static void printFile(File file, int level) {

//输出层次数

for (int i = 0; i < level; i++) {

System.out.print("-");

}

//输出文件名

System.out.println(file.getName());

//如果 file 是目录,则获取子文件列表,并对每个子文件进行相同的操作

if (file.isDirectory()) {

File[] files = file.listFiles();

for (File temp : files) {

//递归调用该方法:注意要+1

printFile(temp, level + 1);

}

}

}

}

四.枚举

JDK1.5 引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下:

enum 枚举名 {

        枚举体(常量列表)

}

枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型,如示例所示:  

【示例】创建枚举类型

enum Season {

SPRING, SUMMER, AUTUMN, WINTER

}

所有的枚举类型隐性地继承自 java.lang.Enum。枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是 public static final 修饰的。可以直接通

过枚举类型名使用它们。

建议

当你需要定义一组常量时,可以使用枚举类型。 尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要 引入枚举,增加程序的复杂性!

【示例】枚举的使用

import java.util.Random;

public class Test {

public static void main(String[ ] args) {

// 枚举遍历

for (Week k : Week.values()) {

System.out.println(k);

}

// switch 语句中使用枚举

int a = new Random().nextInt(4); // 生成 0,1,2,3 的随机数

switch (Season.values()[a]) {

case SPRING:

System.out.println("春天");

break;

case SUMMER:

System.out.println("夏天");

break;

case AUTUMN:

System.out.println("秋天");

break;

case WINTER:

System.out.println("冬天");

break;

}

}

}

/**季节*/

enum Season {

SPRING, SUMMER, AUTUMN, WINTER

}

/**星期*/

enum Week {

星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日

}

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: