您的位置:首页 > 编程语言 > Java开发

java学习之路----java类库----Math类

2013-11-21 23:47 246 查看
Math是数学操作类,提供了一系列的数学操作方法

               看源码会发现Math的所有方法都是静态的,都可以直接调用。

例子:

[align=left]public class MathDemo {[/align]
[align=left]     [/align]
           public static void main(String[]
args) {
[align=left]               System. out .println(java.lang.Math.sqrt(9.0)); //求平方根[/align]
              System. out .println(Math.max(10,
5)); //求两个数之间的最大值
              System. out .println(Math.max(30,
Math.max(10,20))); //求三个数之间的最大值
[align=left]              [/align]
              System. out .println(Math.pow(2,
3)); //2的3次方
[align=left]              [/align]
[align=left]              System. out .println(Math.round(40.6)); //四舍五入[/align]
[align=left]          }[/align]
[align=left]
[/align]
[align=left]}[/align]

结果:

[align=left]3.0[/align]
[align=left]10[/align]
[align=left]30[/align]
[align=left]8.0[/align]
[align=left]41[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]Random类[/align]
[align=left]
[/align]



[align=left]     [/align]
[align=left]
[/align]

public class RandomDemo
{
[align=left]     [/align]
           public static void main(String[]
args) {
[align=left]              Random r= new Random();[/align]
[align=left]               for (int i=0;i<10;i++){[/align]
[align=left]                   System. out .print(r.nextInt(100)+"\t" );//不大于100的整数[/align]
[align=left]              }[/align]
[align=left]          }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]

[align=left]34   23   58   87   79   4    13   78   26   0    [/align]
[align=left]
[/align]
[align=left]NumberFormat类[/align]
[align=left]
[/align]
[align=left]               这个类的作用是用来进行数字的格式化的[/align]
            public abstract class NumberFormat extends Format 
 
[align=left]看下源码,发现这个类是抽象类[/align]
[align=left]
[/align]
          


[align=left]例子[/align]

public class NumberFormatDemo
{
      public static void main(String[]
args) {
[align=left]          NumberFormat format=NumberFormat. getInstance();[/align]
[align=left]          [/align]
[align=left]          System. out .println(format.format(10000000000000L));;[/align]
[align=left]          System. out .println(format.format(10000000f));[/align]
[align=left]          System. out .println(format.format(2000000.009898));[/align]
[align=left]     }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]结果:[/align]

[align=left]10,000,000,000,000[/align]
[align=left]10,000,000[/align]
[align=left]2,000,000.01[/align]
[align=left]
[/align]
[align=left]DecimalFormat类[/align]
[align=left]
[/align]
[align=left]     decimalFormat类是Format的一个子类,在数字格式化方面更加方便[/align]
[align=left]
[/align]



[align=left]
[/align]
[align=left]例子:[/align]

[align=left]public class DecimalFormatDemo {[/align]
           public void format1(String
partten, double values){
[align=left]              DecimalFormat decimalFormat= null ;[/align]
[align=left]              decimalFormat= new DecimalFormat(partten);//实例化对象[/align]
[align=left]              String str=decimalFormat.format(values);//格式化数字[/align]
[align=left]              System. out .println("使用" +partten+ "格式化数字"+values+ ":" +str);[/align]
[align=left]              [/align]
[align=left]          }[/align]
[align=left]          [/align]
[align=left]              [/align]
           public static void main(String[]
args) {
[align=left]               DecimalFormatDemo decimalFormatDemo= new DecimalFormatDemo();[/align]
              decimalFormatDemo.format1( "###,###,###" ,
123456789.0000);
              decimalFormatDemo.format1( "000,000,000" ,
122312313);
              decimalFormatDemo.format1( "000,000,000¥" ,
123123121);
              decimalFormatDemo.format1( "00.000%" ,
0.12345);
              decimalFormatDemo.format1( "###.###\u2030" ,
0.123123);
[align=left]          }[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]

[align=left]使用###,###,###格式化数字1.23456789E8:123,456,789[/align]
[align=left]使用000,000,000格式化数字1.22312313E8:122,312,313[/align]
[align=left]使用000,000,000¥格式化数字1.23123121E8:123,123,121¥[/align]
[align=left]使用00.000%格式化数字0.12345:12.345%[/align]
[align=left]使用###.###‰格式化数字0.123123:123.123‰[/align]
[align=left]
[/align]
[align=left]BigInteger类[/align]

[align=left]
[/align]
[align=left]          当数字特别大时,可以用这个类来运算[/align]
[align=left]
[/align]
          


[align=left]
[/align]
[align=left]
[/align]
[align=left]例子:[/align]

public class BigIntegerDemo
{
      public static void main(String[]
args) {
[align=left]           BigInteger bigInteger= new BigInteger("123456789999" );//定义对象[/align]
[align=left]          [/align]
[align=left]          [/align]
[align=left]          BigInteger bigInteger1= new BigInteger("123456789999" );//定义对象[/align]
[align=left]          [/align]
[align=left]          System. out .println(bigInteger.add(bigInteger1)); //加法[/align]
[align=left]          [/align]
[align=left]          System. out .println(bigInteger.multiply(bigInteger1)); //乘法[/align]
[align=left]          [/align]
[align=left]          System. out .println(bigInteger.subtract(bigInteger1)); //减法[/align]
[align=left]          [/align]
[align=left]          System. out .println(bigInteger.divide(bigInteger1)); //除法[/align]
[align=left]
[/align]
[align=left]          System. out .println(bigInteger.max(bigInteger1)); //最大数[/align]
[align=left]          [/align]
[align=left]          System. out .println(bigInteger.min(bigInteger1)); //最小数[/align]
[align=left]          [/align]
[align=left]          [/align]
[align=left]     }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]

[align=left]246913579998[/align]
[align=left]15241578996857186420001[/align]
[align=left]0[/align]
[align=left]1[/align]
[align=left]123456789999[/align]
[align=left]123456789999[/align]
[align=left]
[/align]
[align=left]BigDecimal类[/align]
[align=left]
[/align]
[align=left]               如果需要精确的计算则要用这个类[/align]
[align=left]
[/align]
[align=left]
[/align]



[align=left]public class BigDecimalDemo {[/align]
      public static void main(String[]
args) {
          BigDecimal b1= new  
BigDecimal(20.99999);
          BigDecimal b2= new  
BigDecimal(19.999999999);
[align=left]          System. out .println(b1.subtract(b2).doubleValue());[/align]
[align=left]     }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]结果:[/align]
[align=left]
[/align]

[align=left]0.9999900010000005[/align]

[align=left]
[/align]
[align=left]               [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: