1.常用数学函数 Math类
1.1三角函数方法
方法 | 描述 |
---|---|
sin(radians) | 返回以弧度为单位的角度的三角正弦函数值 |
cos(radians) | 返回以弧度为单位的角度的三角余弦函数值 |
tan(radians) | 返回以弧度为单位的角度的三角正切函数值 |
toRedians(degree) | 将以度为单位的角度值转化为以弧度表示 |
toDegrees(radians) | 将以弧度为单位的角度值转化为以度表示 |
asin(a) | 返回以弧度为单位的角度的反三角正弦函数值 |
acos(a) | 返回以弧度为单位的角度的反三角余弦函数值 |
atan(a) | 返回以弧度为单位的角度的反三角正切函数值 |
asin 和 atan 的返回值是 −π/2 ~ π/2的一个弧度值,acos 的返回值在 0 ~ π 之间
1.2 指数函数方法
方法 | 描述 |
---|---|
exp (x) | 返回 e 的 x 次方 |
log (x) | 返回 x 的自然对数 lnx |
log10 (x) | 返回 x 的以10为底的对数 |
pow (a,b) | 返回 a 的 b 次方 |
sqrt (x) | 对于x>=0的数字,返回 x 的平方根 |
1.3 取整方法
方法 | 描述 |
---|---|
ceil (x) | x向上取整为它最接近的整数,该整数作为一个双精度值返回 |
floor (x) | x向下取整为它最接近的整数,该整数作为一个双精度值返回 |
rint (x) | x取整为它最接近的整数。如果x与两个整数的距离相等,偶数的整数作为一个双精度值返回 |
round (x) | 如果 x 是单精度数,返回 (int)Math.floor(x+0.5);如果 x 是双精度数,返回 (long)Math.floor(x+0.5) |
1.4 min、max 和 abs方法
min 和 max方法用于返回两个数 (int、long、float、double 型)的最小值和最大值
abs方法以返回一个数 (int、long、float、double 型)的绝对值
1.1.5 random方法
生成0.0 <= Math.random() < 1.0 的double型随机数
a + Math.random() * b 返回 a ~ a+b之间的一个随机数,不包括a+b
System.currentTimeMillis()也可以产生随机数(System.currentTimeMillis()用于显示当前时间,单位为毫秒millisecond,1s = 1000ms)
示例学习.计算三角形的角度
A = acos((a*a - b*b - c*c) / (-2*b*c))
B = acos((b*b - a*a - c*c) / (-2*a*c))
C = acos((c*c - b*b - a*a) / (-2*b*a))
//题目:计算三角形的角度
import java.util.Scanner;
public class ComputeAngles {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//提示用户输入三角形三个顶点的x和y坐标
System.out.print("Enter three points :");
double x1 = input.nextDouble();
double y1 = input.nextDouble();
double x2 = input.nextDouble();
double y2 = input.nextDouble();
double x3 = input.nextDouble();
double y3 = input.nextDouble();
//求出三边
double a = Math.sqrt((x1 - x2) * (x1 - x2) - (y1 - y2) * (y1 - y2));
double b = Math.sqrt((x1 - x3) * (x1 - x3) - (y1 - y3) * (y1 - y3));
double c = Math.sqrt((x3 - x2) * (x3 - x2) - (y3 - y2) * (y3 - y2));
//求出三角形三边
double A = Math.toDegrees(Math.acos((a * a - b * b - c * c)/(-2 * b * c)));
double B = Math.toDegrees(Math.acos((b * b - a * a- c * c)/(-2 * a * c)));
double C = Math.toDegrees(Math.acos((c * c - b * b - a * a)/(-2 * b * a)));
//显示三角形的三个角
System.out.println("The three angls are " + Math.round(A * 100) / 100.0 + " "+ Math.round(B * 100) / 100.0 + " " + Math.round(C * 100) / 100.0 );;
}
}
2.字符数据类型和操作
2.1 Unicode 和 ASCII码
字符 | 十进制编码值 | Unicode值 |
'0' ~ '9' | 48 ~ 57 | \u0030 ~ \u0039 |
'A' ~ 'Z' | 65 ~ 90 | \u0041 ~ \u005A |
'a' ~ 'z' | 97 ~ 122 | \u0061 ~ \u007A |
2.2特殊字符的转义序列
转义序列 | 名称 | Unicode码 | 十进制值 |
\b | 退格键 | \u0008 | 8 |
\t | Tab键 | \u0009 | 9 |
\n | 换行符 | \u000A | 10 |
\f | 换页符 | \u000C | 12 |
\r | 回车符 | \u000D | 13 |
\\ | 反斜杠 | \u005C | 92 |
\" | 双引号 | \u0022 | 34 |
2.3字符的比较和测试