Math类
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用apache commons下面的Math类库。
math类的常用方法:
1. abs 绝对值
2. acos,asin,atan,cos,sin,tan 三角函数
3. sqrt 平方根
4. pow(double a, double b) a的b次幂
5. max(double a, double b) 取大值
6. min(double a, double b) 取小值
7. ceil(double a) 大于a的最小整数
8. floor(double a) 小于a的最大整数
9. random() 返回 0.0 到 1.0 的随机数
10. long round(double a) double型的数据a转换为long型(四舍五入)
11. toDegrees(double angrad) 弧度->角度
12. toRadians(double angdeg) 角度->弧度
package day08;
/**
* Math类的常用方法
* @author Administrator
*
*/
public class TestMath {
public static void main(String[] args) {
//取整相关操作
System.out.println(Math.ceil(3.2));//大于value的最小整数
System.out.println(Math.floor(3.2));//小于value的最小整数
System.out.println(Math.round(3.2));//四舍五入
//绝对值,平方,a的b次幂等操作
System.out.println(Math.abs(-45));//绝对值
System.out.println(Math.sqrt(64));//平方根
System.out.println(Math.pow(5, 2));//a的b次幂
System.out.println(Math.pow(2, 5));//a的b次幂
//Math类中常用的常量
System.out.println(Math.PI);//3.14
System.out.println(Math.E);//自然对数
System.out.println(Math.random());//随机数
}
}
运行结果:
4.0
3.0
3
45
8.0
25.0
32.0
3.141592653589793
2.718281828459045
0.7468867632443129
Random类
生成随机数;Random类位于java.util包下。
package day08;
/**
* 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.println(rand.nextInt(10));
//随机生成[20,30]之间的int类型的数据
System.out.println(20+rand.nextInt(10));
//随机生成[20,30]之间的int类型的数据(此方法较复杂)
System.out.println(20+(int)(rand.nextDouble()*10));
}
}
运行结果:
0.5157223365116707
-2034809989
0.3824976
true
6
20
21
File类
java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。
File类的常见构造方法:public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储,
在eclipse项目开发中,user.dir就是本项目的目录。因此,执行完毕后,在本项目和D盘下都生成了新的文件(如果是eclipse下,一定按F5刷新目录结构才能看到新文件)。
package day09;
/**
* File中和应用
*/
import java.io.File;
import java.io.IOException;
public class Test01 {
public static void main(String[] args) {
//指定一个文件
File file=new File("d:/cf/b.txt");
//判断该文件是否存在
boolean flag=file.exists();
//如果存在就删除,不存在就创建
// if (flag) {
// //删除
// boolean flagd=file.delete();
// if (flagd) {
// System.out.println("删除成功!");
//
// }else {
// System.out.println("删除失败!");
// }
// }else {
// //创建
// boolean flagn=true;
// try {
// //如果目录不存在,先创建目录
// File dir =file.getParentFile();
// dir.mkdirs();
// //创建文件
// flagn=file.createNewFile();
// System.out.println("创建成功!");
// } catch (IOException e) {
// System.out.println("创建失败!");
// e.printStackTrace();
// }
// }
//文件重命名
file.renameTo(new File("d:/readme.txt"));
}
}
运行结果:在相应的路径里面看
package day09;
/**
* File类常用方法
*/
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
public class TestFile {
public static void main(String[] args) throws IOException {
//相对路径创建文件
File f=new File("a.txt");
// f.createNewFile();
// //绝对路劲创建文件
// File f1=new File("c:/test/a.txt");
// f1.createNewFile();
System.out.println("File文件是否存在:"+f.exists());
System.out.println("File文件是否为目录:"+f.isDirectory());
System.out.println("File是否是文件:"+f.isFile());
System.out.println("File最后修改时间:"+new Date(f.lastModified()));
System.out.println("File的大小:"+f.length());
System.out.println("File的文件名:"+f.getName());
System.out.println("File的目录路径"+f.getPath());
System.out.println("File的目录绝对路劲:"+f.getAbsolutePath());
}
}
运行结果:
File文件是否存在:true
File文件是否为目录:false
File是否是文件:true
File最后修改时间:Fri Aug 14 17:42:00 CST 2020
File的大小:31
File的文件名:a.txt
File的目录路径a.txt
File的目录绝对路劲:D:\tools\javaproject\javaproject\Demo\a.txt
枚举
枚举体就是放置一些常量
格式为:
enum 枚举名 {
枚举体(常量列表)
}
package day09;
import java.util.Random;
/**
* 枚举遍历
* @author Administrator
*
*/
public class Test03 {
public static void main(String[] args) {
for(Week k:Week.values()) {
System.out.println(k);
}
int a=new Random().nextInt(4);//生成0,1
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;
default:
break;
}
}
}
//枚举:一般用来定义常量
enum Season{
SPRING,SUMMER,AUTUMN,WINTER
}
enum Week{
星期一,星期二,星期三,星期四,星期五,星期六,星期日,
}