一、Math函数
java.lang.Math
java.lang.Object
public final class Mathextends Object
Math
类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
与 StrictMath
类的某些数学方法不同,并非 Math
类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。
默认情况下,很多 Math
方法仅调用 StrictMath
中的等价方法来完成它们的实现。建议代码生成器使用特定于平台的本机库或者微处理器指令(可用时)来提供 Math
方法更高性能的实现。这种更高性能的实现仍然必须遵守 Math
的规范。
实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math
方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于给定的浮点格式,特定实数值的 ulp 是包括该数值的两个浮点值的差。当作为一个整体而不是针对具体参数讨论方法的准确性时,引入的 ulp 数用于任何参数最差情况下的误差。如果一个方法的误差总是小于 0.5 ulp,那么该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一个正确舍入的方法通常能得到最佳的浮点近似值;然而,对于许多浮点方法,进行正确舍入有些不切实际。相反,对于 Math
类,某些方法允许误差在 1 或 2 ulp 的范围内。非正式地,对于 1 ulp 的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回包括准确结果的两个浮点值中的一个。对于值很大的准确结果,括号的一端可以是无穷大。除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样,只要数学函数是非递增的,浮点近似值就是非递增的。并非所有准确性为 1 ulp 的近似值都能自动满足单调性要求。
@Math函数产生随机数
1 public class ee{ 2 public static void main(String[] args) { 3 //产生0到1之间的随机数 4 double a=Math.random(); 5 System.out.println(a); 6 //产生0-100之间的随机数 7 int s=(int)(Math.random()*100); 8 System.out.println(s); 9 //返回绝对值 10 System.out.println(Math.abs(-10.2)); 11 } 12 }
二、Date 函数
在类 Date
所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:
- 年份 y 由整数 y
- 1900
表示。 - 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
- 日期(一月中的某天)按通常方式由整数 1 至 31 表示。
- 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。
- 分钟按通常方式由 0 至 59 的整数表示。
- 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。
@日期格式的转换
如:yyyy/MM/dd HH:mm:ss yyyy/MM/dd hh:mm:ss
其中 M:代表月 ; m代表分; H代表24小时制; h代表12小时制
1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 4 public class ee{ 5 public static void main(String[] args) { 6 Date ff=new Date(); 7 8 System.out.println(showDate(ff)); 9 10 } 11 public static String showDate(Date a){ 12 SimpleDateFormat aa=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); 13 14 return aa.format(a);//format:是格式化的意思 15 } 16 }
@字符串转换成日期
1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Date; 4 5 public class ee{ 6 public static void main(String[] args) { 7 //Date ff=new Date(); 8 Date date=Stringz("2014/01/01 23:10:10"); 9 10 System.out.println(date); 11 System.out.println(showDate(date)); 12 13 14 } 15 //字符串格式转换 16 public static String showDate(Date a){ 17 SimpleDateFormat aa=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 18 19 return aa.format(a); 20 } 21 //字符串转换成日期 22 public static Date Stringz(String string){ 23 SimpleDateFormat sd=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 24 try { 25 return sd.parse(string);//字符串转换 26 } catch (ParseException e) { 27 28 e.printStackTrace(); 29 } 30 return null; 31 32 } 33 }