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]
看源码会发现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]
相关文章推荐
- java学习之路----java类库------克隆技术
- java学习之路----java类库---程序国际化
- java学习之路----java类库----Arrays对对象的排序---二叉树实现原理
- java学习之路----java类库---正则表达式
- java学习之路---java类库-----Date类
- java学习之路 之 Java常用类-Data类、Math类、BigInteger类、BigDecimai类 及 练习题
- 2009-04-04程序心情:JAVA学习之路
- Hibernate的学习之路十九(一对多的JavaBean编写和映射的配置文件的编写)
- Java学习之路第十一天
- Java学习之路:不走弯路,就是捷径
- 第一课 我的JAVA学习之路。
- java学习之路 之 反射机制综合练习题、动态代理实例
- 摘录:JAVA学习之路
- java学习之路---总结
- 黑马程序员 【】java学习之路——GUI开始简析三
- Java学习之路 [书籍推荐]
- java类库concurrent中最核心类型AbstractQueuedSynchronizer的学习
- 黑马程序员 【】java学习之路——UDP之模拟聊天
- 黑马程序员 【】java学习之路——TCP客户端和服务端的创建
- java学习之路之基本语法-运算符练习题