精华内容
下载资源
问答
  • 简化 java.lang.Double 的源码

    万次阅读 2020-09-25 23:20:36
    public final class Double extends Number implements Comparable<Double>, Constable, ConstantDesc { @java.io.Serial private static final long serialVersionUID = -9172774392245257468L; //序列化...
    public final class Double extends Number implements Comparable<Double>, Constable, ConstantDesc {
       
        @java.io.Serial
        private static final long serialVersionUID = -9172774392245257468L; //序列化版本号
        private final double value; // 实际存储double数据的地方
        public static final double POSITIVE_INFINITY = 1.0 / 0.0;   // 正无穷常量
        public static final double NEGATIVE_INFINITY = -1.0 / 0.0;  // 负无穷常量
        public static final double NaN = 0.0d / 0.0;                // NaN 值
        public static final double MAX_VALUE = 0x1.fffffffffffffP+1023; // 最大值: 1.7976931348623157e+308
        public static final double MIN_NORMAL = 0x1.0p-1022; // 最大正常值:2.2250738585072014E-308
        public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 最小值:4.9e-324
        public static final int MAX_EXPONENT = 1023;
        public static final int MIN_EXPONENT = -1022;
        public static final int SIZE = 64;              // 底层double占用的位数
        public static final int BYTES = SIZE / Byte.SIZE;
        public static final Class<Double>   TYPE = (Class<Double>) Class.getPrimitiveClass("double");
    
        /**
         * 构造方法
         */
        @Deprecated(since="9")
        public Double(double value) {}  // 传入的是一个double
        @Deprecated(since="9")
        public Double(String s) throws NumberFormatException {} // 传入的是一个字符串
        
        public boolean isNaN() {}           // 是否为NaN
        public boolean isInfinite() {}      // 当前值是否为无穷数(正、负都可以)
        public int compareTo(Double anotherDouble) {} // 当前值和anotherDouble比较大小
        public String toString() {}     // double转换为字符串
    
        /**
         * double转化为其它基本类型的数据
         */
        public byte byteValue() {}      // 得到byte类型
        public short shortValue() {}    // 得到short类型
        public int intValue() {}        // 得到int类型
        public float floatValue() {}    // 得到float类型
        public long longValue() {}      // 得到long类型
        @HotSpotIntrinsicCandidate
        public double doubleValue() {}  // 返回double的值
        @Override
        public int hashCode() {}        // 当前double值得hash值
        public boolean equals(Object obj) {} // 当前double值和obj是否相等
    
    
        /**
         * 静态方法是做工具对外提供使用的
         * 功能无非是两double数和、最大值、最小值、比较大小、double值得hash值
         */
        public static int hashCode(double value) {}         // 得到value的hash值
        public static boolean isNaN(double v) {}            // v是否为NaN
        public static boolean isInfinite(double v) {}       // v是否为无穷数
        public static boolean isFinite(double d) {}
        public static double sum(double a, double b) {}     // a、b求和
        public static double max(double a, double b) {}     // a、b最大值
        public static double min(double a, double b) {}     // a、b最小值
        public static int compare(double d1, double d2) {}  // a、b两数比大小
        public static String toString(double d) {}          // d 转字符串
        public static String toHexString(double d) {}       // d 转16进制字符串
        @HotSpotIntrinsicCandidate
        public static Double valueOf(double d) {}           // double转Double
        public static Double valueOf(String s) throws NumberFormatException {}  // 字符串转Double
        public static double parseDouble(String s) throws NumberFormatException {} // 解析字符串转为double
        
        
        @HotSpotIntrinsicCandidate
        public static long doubleToLongBits(double value) {}        // double转换为2进制
        @HotSpotIntrinsicCandidate
        public static native long doubleToRawLongBits(double value);// double转换为2进制的数字   
        @HotSpotIntrinsicCandidate
        public static native double longBitsToDouble(long bits);    // 2进制数转换为double
        
        @Override
        public Optional<Double> describeConstable() {
            return Optional.of(this);				// 将当前double值包装为Optional对象
        }
        @Override
        public Double resolveConstantDesc(MethodHandles.Lookup lookup) {
            return this;
        }
    }
    
    展开全文
  • Java Double类详解

    千次阅读 2020-03-06 14:36:39
    Double 的构造方法 Double 中的构造方法有如下两个。 Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。 Double(String s):构造一个新分配的 Double 对象,它表示 ...

    Double 类的构造方法

    Double 类中的构造方法有如下两个。

    	Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。
    	
    	Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。
    

    分别使用以上两个构造方法获取 Double 对象:

    Double double1 = new Double(5.556);    // 以 double 类型的变量作为参数创建 Double 对象
    
    Double double2 = new Double("5.486");       // 以 String 类型的变量作为参数创建 Double 对象
    

    Double 类的常用方法

    Double类中的常用方法

    在这里插入图片描述

    如何将字符串 56.7809 转换为 double 类型的数值,或者将 double 类型的数值 56.7809 转换为对应的字符串呢?

    String str = "56.7809";
    double num = Double.parseDouble(str);    // 将字符串转换为 double 类型的数值
    
    double d = 56.7809;
    String s = Double.toString(d);    // 将double类型的数值转换为字符串
    

    在将字符串转换为 double 类型的数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。

    Double 类的常用常量

    在 Double 类中包含了很多常量,其中较为常用的常量如下。

    	MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
    	
    	MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。
    	
    	NaN:保存 double 类型的非数字值的常量。
    	
    	NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
    	
    	POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
    	
    	SIZE:用秦以二进制补码形式表示 double 值的比特位数。
    	
    	TYPE:表示基本类型 double 的 Class 实例。
    
    展开全文
  • Java内置包装类:Double类

    千次阅读 2019-05-15 18:40:00
    Double 在对象中包装了一个基本类型 double 的值。Double 对象包含一个 double 类型的字段。此外,该还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时 还提供了处理 double 类型时比较常用...

    Double 类在对象中包装了一个基本类型 double 的值。Double 类对象包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时 还提供了处理 double 类型时比较常用的常量和方法。

    Double 类的构造方法

    Double 类中的构造方法有如下两个。

    • Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。

    • Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。


    例如,以下代码分别使用以上两个构造方法获取 Double 对象:

    1. Double double1=new Double(5.456); //以 double 类型的变量作为参数创建 Double 对象
    2. Double double2=new Double("5.456"); //以 String 类型的变量作为参数创建 Double 对象

    Double 类的常用方法

    在 Double 类内部包含一些和 double 操作有关的方法,见表 1。
     

    表1 Double类中的常用方法
    方法 返回值 功能
    byteValue() byte 以 byte 类型返回该 Double 的值
    doubleValue() double 以 double 类型返回该 Double 的值
    fioatValue() float 以 float 类型返回该 Double 的值
    intValue() int 以 int 类型返回该 Double 的值(强制转换为 int 类型)
    longValue() long 以 long 类型返回该 Double 的值(强制转换为 long 类型)
    shortValue() short 以 short 类型返回该 Double 的值(强制转换为 short 类型)
    isNaN() boolean 如果此 Double 值是一个非数字值,则返回 true,否则返回 false
    isNaN(double v) boolean 如果指定的参数是一个非数字值,则返回 true,否则返回 false
    toString() String 返回一个表示该 Double 值的 String 对象
    valueOf(String s) Double 返回保存指定的 String 值的 Double 对象
    parseDouble(String s) double 将数字字符串转换为 Double 数值


    例:将字符串 56.7809 转换为 double 类型的数值,或者将 double 类型的数值 56.7809 转换为对应的字符串,以下代码演示如何实现这两种功能:

    1. String str="56.7809";
    2. double num=Double.parseDouble(str); //将字符串转换为 double 类型的数值
    3. double d=56.7809;
    4. String s=Double.toString(d); //将double类型的数值转换为字符串


    注意:在将字符串转换为 double 类型的数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常

    Double 类的常用常量

    在 Double 类中包含了很多常量,其中较为常用的常量如下。

    • MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
    • MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。
    • NaN:保存 double 类型的非数字值的常量。
    • NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
    • POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
    • SIZE:用秦以二进制补码形式表示 double 值的比特位数。
    • TYPE:表示基本类型 double 的 Class 实例。
    展开全文
  • 使用Double类创建double类型变量

    千次阅读 2015-09-12 17:33:39
    package z10; //定义一个String str = "1234...//使用Double类创建double类型变量db并赋值1234 //比较两者是否一致 public class TestString1 { public static void main(String[] args) { // TODO Auto-gener
    package z10;
    //定义一个String str = "1234";
    //将其转换为double类型并输出
    //使用Double类创建double类型变量db并赋值1234
    //比较两者是否一致
    public class TestString1 {


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str = "1234";
    double d=new Double(str);
    System.out.println(+d);
    double db=new Double(1234);
    System.out.println("是否一致"+str.equals(db));



    }
    }
    展开全文
  • Double类提供两种构造方法: double(double value):基于double参数创建Double类对象。 Double(String str):构造一个新分配的Double对象,表示用字符串表示的double类型的浮点值。MAX_EXPONENT:返回int值,表示有限...
  • java Double

    千次阅读 2015-09-24 10:00:46
    Double java.lang.Object java.lang.Number java.lang.Double 所有已实现的接口:Serializable, Comparable public final class Doubleextends Numberimplements Comparable Double 在对象
  • java double方法 双compare()方法 (Double class compare() method) compare() method is available in java.lang package. compare()方法在java.lang包中可用。 compare() method is used to check equality or ...
  • Double类将一个String字符串转换为浮点型的方式有两个,一个是parseDouble(java.lang.String) 方法,一个是valueOf(java.lang.String)方法。之前有时会遇到需要将一个String字符串转换为浮点数,打开ide的自动补全会...
  • Java Double类valueOf()方法及示例

    千次阅读 2020-07-13 06:23:51
    Syntax: 句法: public static Double valueOf (double value); public static Double valueOf (String value)... 双valueOf()方法 (Double class valueOf() method) valueOf() method is available in java....
  • Syntax: 句法: public String toString(); public static String toString(double value)... 双toString()方法 (Double class toString() method) toString() method is available in java.lang package. to...
  • compareTo()方法 (Double class compareTo() method) compareTo() method is available in java.lang package. compareTo()方法在java.lang包中可用。 compareTo() method is used to check equality or ...
  • 3.Double类的使用方法

    千次阅读 2016-08-20 08:37:10
    Double:双精度类型1、属性。 static Double MAX_VALUE : 返回最大双精度数,在不同硬件平台中由Double.longBitsToDouble(0x7fefffffffffffffL)计算得出。 static Double MIN_VALUE : 返回最小双精度数,在不同...
  • tohexstring方法 双toHexString()方法 (Double class toHexString() method) toHexString() method is available in java.lang package. toHexString()方法在java.lang包中可用。 toHexString() method is used to...
  • 程序功能: 显示8条线段(颜色随机,位置随机,线段粗度随机... * 13.8 (Random Lines Using Class Line2D.Double) Modify your solution to * Exercise 13.7 to draw random lines in random colors and random ...
  • 类型转换符:operator ...} 将Complex转换为double return Complex中的real;  #include&lt;iostream&gt; using namespace std; class Complex { public:  Complex(){real=0;imag=0;}  Complex(d...
  • 程序功能: 用户输入圆的半径(单位为像素数),点击“开始绘制”按钮,程序...1. 实体 //Creating JFrame to display DrawPanel. import java.awt.Graphics2D; import java.awt.event.ActionEvent; import ja...
  • 1. 实体 //Creating JFrame to display DrawPanel. import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import javax.swing.JPanel; import java.awt.Color; import java.awt.Graphics; ...
  • 使用BigDecimal类double num=8.2347983984297E7;String str=new BigDecimal(num).toString();注意:以上方式转换之后的可能不是你想要的模样,而是酱紫——82347983.9842970073223114013671875,原因请参考下方用法...
  • Integer工具也是很相似的,但是Integer的valueOf内部实现的时候会有一些不同。 Integer.valueOf()方法的源码: public static Integer valueOf(int i) { if (i >= IntegerCache.low && i ) return Integer...
  • 构造方法 Byte(byte n) Short(short n) Integer(int n) Long(int n) Float(int n) Double(double n) 2.方法:通过调用以下方法 可以将“数字格式”的字符串s转换成相应的基本数据类型的数据 
  • String h = Double.toHexString((double) 16.0); // 返回:0x1.0p4,解释: double参数的十六进制字符串表示形式。 System.out.println(h);
  • /** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示。用此方法可以使其正常显示。 * @param value * @return Sting ... public static String formatFloatNumber(double value) { if(value != 0.00){
  • 初识Java(Java包装-Double 和 Number)

    千次阅读 2018-04-28 23:13:11
    一、Double Double 和 Float 包装是对 double 、 float 基本类型的封装,它们都是 Number 的子类,又都是对小数进行操作,所以常用方法基本相同。 Double 在对象中包装一个基本类型为 double 的值。每个 ...
  • 封装类Double与基本类型double

    千次阅读 2018-04-03 10:01:35
    Double类型是可以完整表达一个10进制的小数的。只不过不是书写的表达,而是逻辑的表达。是不是有点绕嘴?简而言之,Double类型在进行牵扯到小数的运算的时候一律采用模拟运算。并且Double类型内部封装的是一个字符串...
  • double小数点工具

    千次阅读 2015-03-27 11:11:27
    处理double类型小数点的,可以自定义小数点的位数,向上取整, 向下取整,四舍五入 import java.math.BigDecimal; /** * 数字转换器 * 处理double类型小数点位数 * @author dhh * */ public class ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,851
精华内容 13,940
关键字:

double类