Math和Date函数


一、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 }

 

posted on 2016-05-27 11:49  lgshiwoo  阅读(227)  评论(0编辑  收藏  举报