API学习包装类型Double

package com.wonders.week01.bzl;

/**
 * JDK1.7
 * Double类
 * (1)属于java.lang包下的
 * (2)继承了Number类,实现了Comparable<Double>接口
 * @author liyongyong
 *
 */
public class DoubleTest {

	public static void main(String[] args) {
		Double double1 = new Double("1.0");
		System.out.println(double1);
		
		/**
		 * public static String toString(double d)
		 * 将double类型转换为String类型
		 */
		String s1 = double1.toString();
		String s2 = Double.toString(12.345);
		System.out.println(s1 + "==" + s2);//1.0==12.345
		/**
		 * public static String toHexString(double d)
		 * 将double型转为十六进制的字符串形式
		 * 此方法是一个静态方法
		 */
		String hexDouble = Double.toHexString(12.3);
		System.out.println("12.3的十六进制表示是 : " + hexDouble);
		/**
		 * 将一个字符串(可以解析为数字类型)转为双精度的double类型
		 * 如果该字符串不可以解析为数值型就会抛出异常NumberFormatException数字格式化异常
		 */
		Double d = Double.valueOf("12.3");
		System.out.println("字符串12.3转为双精度后的值是 : " + d);
		/**
		 * 将double类型的数值包装为Double类型
		 */
		Double d1 = Double.valueOf(12.3);
		System.out.println("double类型的12.3转为Double为 : " + d1);
		/**
		 * 将字符串类型的数据解析为double类型,如果不能解析为double类型就会抛出异常NumberFormatException
		 */
		double d2 = Double.parseDouble("12.34");
		System.out.println("字符串解析为基本数据类型double的值是 :" + d2);
		/**
		 * 如果这个对象代表的值是NaN则返回true,否则返回false
		 */
		boolean f = Double.isNaN(12.3456788);
		System.out.println("返回结果是否是NaN : " + f);
		/**
		 * 如果测试值是正无穷或者负无穷,则返回true,否则返回false
		 */
		boolean f1 = Double.isInfinite(Double.POSITIVE_INFINITY);
		System.out.println("所测值是否是正无穷或者负无穷 : " + f1);
		/**
		 * 测试是否是正无穷或者负无穷,是则返回true,否则返回false
		 */
		Double double2 = new Double(Double.NEGATIVE_INFINITY);
		boolean f2 = double2.isInfinite();
		System.out.println("double2的值是正无穷或者负无穷 : " + f2);
		/**
		 * 测试值是否是一个数字,不是则返回true,是则返回false
		 */
		Double double3 = new Double(Double.NaN);
		boolean f3 = double3.isNaN();
		System.out.println("double3的值是正无穷或者负无穷 : " + f3);
		/**
		 * 将数值类型转化为字符串
		 */
		String s3 = double1.toString();
		System.out.println("将数值类型转换为String的值是 : " + s3);
		/**
		 * 将该数值类型转为byte形式
		 */
		byte b1 = double1.byteValue();
		System.out.println("double转为byte后的值是 : " + b1);
		Double double4 = new Double(129);
		byte b2 = double4.byteValue();
		System.out.println("129的byte表示是 : " + b2);
		/**
		 * 将数值类型转为short类型
		 */
		short sh1 = double1.shortValue();
		System.out.println("double转short的值是 : " + sh1);
		/**
		 * 将数值的类型转为int类型
		 */
		int i1 = double1.intValue();
		System.out.println("double转int的值是 : " + i1);
		/**
		 * 将Double类型转为long
		 */
		long l1 = double1.longValue();
		System.out.println("Double转为long的值是 : " + l1);
		/**
		 * Double类型转为float
		 */
		float float1 = double1.floatValue();
		System.out.println("Double类型转为float的值是 : " + float1);
		/**
		 * Double类型转为double
		 */
		double dd1= double1.doubleValue();
		System.out.println("Double转为double的值是 : " + dd1);
		/**
		 * 返回Double类型的数值的哈希值
		 */
		int hashcode = double1.hashCode();
		System.out.println("double1的哈希值是 : " + hashcode);
		/**
		 * 返回表示浮点数的位
		 * 参数是一个double类型
		 * 静态方法,返回值是long类型
		 */
		long bits = Double.doubleToLongBits(double1);
		System.out.print("返回值是 : " + bits);
		long bits1 = Double.doubleToRawLongBits(double1);
		System.out.print("返回值是 : " + bits1);
		/**
		 * 返回具有相同位模式的双浮点值
		 * 参数是一个long类型
		 */
		long  l2 = 10L;
		double d8 = Double.longBitsToDouble(l2);
		System.out.println("s8的返回值是 : "+ d8);
		/**
		 * 两个Double类型比较,返回值是int类型
		 * 如果参数值等于Double值则返回0;如果参数值大于Double值则返回值小于0否则大于0
		 */
		Double double5 = new Double(12.3);
		Double double6 = new Double(12.3);
		int result1 = double1.compareTo(double5);
		System.out.println("result1 = " + result1);
		int result2 = double5.compareTo(double1);
		int result3 = double5.compareTo(double6);
		System.out.print("result3 = " + result3);
		System.out.print("result2 =" + result2);
		/**
		 * 比较两个double类型的数值大小,参数是double类型,返回值是int类型,方法是static
		 * 如果两个参数值相等,则返回0;
		 * 如果第一个参数值小于第二个参数值,则返回-1
		 * 如果第一个参数值大于第二个参数值,则返回1
		 */
		double ddd1 = 12.3;
		double ddd2 = 12.3;
		double ddd3 = 12.4;
		int res1 = Double.compare(ddd1, ddd2);
		System.out.println("res1 的值是: " + res1);
		int res2 = Double.compare(ddd1, ddd3);
		System.out.print("res2的值是 : " + res2);
		int res3 = Double.compare(ddd3, ddd1);
		System.out.print("res3的值是 : " + res3);
		
		
		
	}
}

这里写图片描述

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值