📜  Java Java类

📅  最后修改于: 2022-05-13 01:55:36.344000             🧑  作者: Mango

Java Java类

Float 类是原始类型 float 的包装类,它包含几种有效处理浮点值的方法,例如将其转换为字符串表示形式,反之亦然。 Float 类的对象可以保存一个浮点值。初始化一个 Float 对象主要有两个构造函数——

  • Float(float b:创建一个使用提供的值初始化的 Float 对象。
Syntax: public Float(Float d)
Parameters:

d : value with which to initialize
  • Float(String s):创建一个 Float 对象,该对象使用字符串表示提供的已解析浮点值进行初始化。默认基数为 10。
Syntax:  public Float(String s) throws NumberFormatException
Parameters: 
s : string representation of the byte value 
Throws: 
NumberFormatException: If the string provided does not represent any 
float value.

方法:

1.toString():返回float值对应的字符串。

Syntax : public String toString(float b)
Parameters :
b : float value for which string representation required.

2.valueOf() :返回使用提供的值初始化的 Float 对象。

Syntax : public static Float valueOf(float b)
Parameters :
b : a float value

另一个重载函数valueOf(String 函数 ) 提供类似于
新浮动(浮动.parseFloat(val,10))

Syntax : public static Float valueOf(String s)
           throws NumberFormatException
Parameters :
s : a String object to be parsed as float
Throws :
NumberFormatException : if String cannot be parsed to a float value.

3.parseFloat():解析字符串返回float值。与 valueOf() 不同,因为它返回原始浮点值,而 valueOf() 返回 Float 对象。

Syntax : public static float parseFloat(String val)
             throws NumberFormatException
Parameters :
val : String representation of float 
Throws :
NumberFormatException : if String cannot be parsed to a float value 
in given radix.

4.byteValue() :返回这个Float Object对应的字节值。

Syntax : public byte byteValue()

5.shortValue() :返回与此 Float 对象对应的短值。

Syntax : public short shortValue()

6.intValue() :返回与此 Float Object 对应的 int 值。

Syntax : public int intValue()

7.longValue() :返回一个与此 Float Object 对应的 long 值。

Syntax : public long longValue()

8.doubleValue() :返回与此 Float Object 对应的 double 值。

Syntax : public double doubleValue()

9.floatValue() :返回与此 Float 对象对应的浮点值。

Syntax : public float floatValue()

10.hashCode() :返回这个Float Object对应的hashcode。

Syntax : public int hashCode()

11.isNaN() :如果考虑的浮点对象不是数字,则返回 true,否则返回 false。

Syntax : public boolean isNaN()

如果我们不需要创建任何 float 对象,则可以使用另一种静态方法 isNaN(float val)。它提供与上述版本类似的功能。

Syntax : public static boolean isNaN(float val)
Parameters :
val : float value to check for

12.isInfinite() :如果考虑的浮点对象非常大,则返回 true,否则返回 false。具体来说,正侧超过 0x7f800000 和负侧低于 0xff800000 的任何数字都是无穷大值。

Syntax : public boolean isInfinite()

如果我们不需要创建任何 float 对象,则可以使用另一种静态方法 isInfinite(float val)。它提供与上述版本类似的功能。

Syntax : public static boolean isInfinte(float val)
Parameters :
val : float value to check for

13.toHexString() :返回参数浮点值的十六进制表示。

Syntax : public static String toHexString(float val)
Parameters : 
val : float value to be represented as hex string

14. floatToIntBits() :返回给定浮点参数的 IEEE 754 浮点“单一格式”位布局。可以在此处找到 IEEE 754 浮点“单一格式”的详细摘要。

Syntax : public static int floatToIntBits(float val)
Parameters :
val : float value to convert

15.floatToRawIntBits() :返回给定浮点参数的 IEEE 754 浮点“单一格式”位布局。它与以前的方法不同,因为它保留了 Nan 值。

Syntax : public static int floatToRawIntBits(float val)
Parameters :
val : float value to convert

16.IntBitsToFloat() :返回与参数的长位模式对应的浮点值。它确实与前两种方法相反。

Syntax : public static float IntBitsToFloat(long b)
Parameters :
b : long bit pattern

17.equals() :用于比较两个 Float 对象的相等性。如果两个对象包含相同的浮点值,则此方法返回 true。只有在检查相等性时才应该使用。在所有其他情况下,应该首选 compareTo 方法。

Syntax : public boolean equals(Object obj)
Parameters :
obj : object to compare with

18. compareTo() :用于比较两个 Float 对象的数值相等性。这应该在比较两个浮点值的数值相等时使用,因为它会区分较小和较大的值。返回小于 0,0 的值,大于 0 的值表示小于、等于和大于。

Syntax : public int compareTo(Float b)
Parameters :
b : Float object to compare with

19. compare() :用于比较两个原始浮点值是否相等。由于它是一个静态方法,因此它可以在不创建任何 Float 对象的情况下使用。

Syntax : public static int compare(float x,float y)
Parameters :
x : float value
y : another float value

例子:

Java
// Java program to illustrate
// various float class methods
// of Java.lang class
public class GfG
{
 
    public static void main(String[] args)
    {
        float b = 55.05F;
        String bb = "45";
 
        // Construct two Float objects
        Float x = new Float(b);
        Float y = new Float(bb);
 
        // toString()
        System.out.println("toString(b) = " + Float.toString(b));
 
        // valueOf()
        // return Float object
        Float z = Float.valueOf(b);
        System.out.println("valueOf(b) = " + z);
        z = Float.valueOf(bb);
        System.out.println("ValueOf(bb) = " + z);
 
        // parseFloat()
        // return primitive float value
        float zz = Float.parseFloat(bb);
        System.out.println("parseFloat(bb) = " + zz);
 
        System.out.println("bytevalue(x) = " + x.byteValue());
        System.out.println("shortvalue(x) = " + x.shortValue());
        System.out.println("intvalue(x) = " + x.intValue());
        System.out.println("longvalue(x) = " + x.longValue());
        System.out.println("doublevalue(x) = " + x.doubleValue());
        System.out.println("floatvalue(x) = " + x.floatValue());
 
        int hash = x.hashCode();
        System.out.println("hashcode(x) = " + hash);
 
        boolean eq = x.equals(y);
        System.out.println("x.equals(y) = " + eq);
 
        int e = Float.compare(x, y);
        System.out.println("compare(x,y) = " + e);
 
        int f = x.compareTo(y);
        System.out.println("x.compareTo(y) = " + f);
 
        Float d = Float.valueOf("1010.54789654123654");
        System.out.println("isNaN(d) = " + d.isNaN());
 
        System.out.println("Float.isNaN(45.12452) = "
                                    + Float.isNaN(45.12452F));
 
        // Float.POSITIVE_INFINITY stores
        // the positive infinite value
        d = Float.valueOf(Float.POSITIVE_INFINITY + 1);
        System.out.println("Float.isInfinite(d) = "
                            + Float.isInfinite(d.floatValue()));
 
        float dd = 10245.21452F;
        System.out.println("Float.toString(dd) = "
                                        + Float.toHexString(dd));
 
        int float_to_int = Float.floatToIntBits(dd);
        System.out.println("Float.floatToLongBits(dd) = "
                                                + float_to_int);
 
        float int_to_float = Float.intBitsToFloat(float_to_int);
        System.out.println("Float.intBitsToFloat(float_to_long) = "
                                                + int_to_float);
    }
 
}


输出 :

toString(b) = 55.05
valueOf(b) = 55.05
ValueOf(bb) = 45.0
parseFloat(bb) = 45.0
bytevalue(x) = 55
shortvalue(x) = 55
intvalue(x) = 55
longvalue(x) = 55
doublevalue(x) = 55.04999923706055
floatvalue(x) = 55.05
hashcode(x) = 1113338675
x.equals(y) = false
compare(x,y) = 1
x.compareTo(y) = 1
isNaN(d) = false
Float.isNaN(45.12452) = false
Float.isInfinite(d) = true
Float.toString(dd) = 0x1.4029b8p13
Float.floatToLongBits(dd) = 1176507612
Float.intBitsToFloat(float_to_long) = 10245.215