短整数Short与其他类型转换

短整数Short与其他类型转换

在 Java 的 Short类提供了几种方法,可以将Short对象转换为其他基本数值类型,包括double、float、int、long和short。

doubleValue() 返回double数值

以double类型返回该Short的值。

✍方法声明

public double doubleValue();

  • 🪐返回值:转换为double类型后该对象表示的数值。

下面创建Short对象,并通过 doubleValue() 方法将Short对象转换为double变量,并将转换后的结果赋给double变量 num。

    public static void main(String[] args) {
        Short num1 = new Short("123");
        double num = num1.doubleValue();
        System.out.println(num1);
        System.out.println(num);
    }
123
123.0

floatValue() 获取float数值

以float类型返回该Short的值。

✍方法声明

public float floatValue();

  • 🪐返回值:转换为float类型后该对象表示的数值。

下面创建Short对象,并通过floatValue()方法将Short对象转换为float变量。并将转换后的结果赋给float型变量num。

    public static void main(String[] args) {
        Short num1 = new Short("123");
        float num = num1.floatValue();
        System.out.println(num1);
        System.out.println(num);
    }
123
123.0

intValue() 获取int值

该方法以int类型返回该Short的值。

✍方法声明

public int intValue();

  • 🪐返回值:转换为it类型后该对象表示的数值。

下面创建Short对象,并通过intValue()方法将Short对象转换为int变量。并将转换后的结果输出。

    public static void main(String[] args) {
        Short num1 = new Short("123");
        int num = num1.intValue();
        System.out.println(num1);
        System.out.println(num);
    }
123
123

longValue() 获取long值

以Long类型返回该Short的值。

✍方法声明

public long longValue();

  • 🪐返回值:转换为long类型后该对象表示的数值。

下面创建Short对象,并通过longValue()方法将Short对象转换为long变量。并将转换后的结果输出。

    public static void main(String[] args) {
        Short num1 = new Short("123");
        long num = num1.longValue();
        System.out.println(num1);
        System.out.println(num);
    }
123
123

shortValue() 获取shot值

以short形式返回此Short的值。

✍方法声明

public short shortValue()

  • 🪐返回值:以short形式返回此Short的值。

下面创建Short对象,并通过shortValue()方法将Short对象转换为long变量。并将转换后的结果输出。

    public static void main(String[] args) {
        Short num1 = new Short("123");
        short num = num1.shortValue();
        System.out.println(num1);
        System.out.println(num);
    }
123
123

parseShort() 将字符串解析为short值

该方法将字符串参数作为有符号的十进制long进行解析。需要注意的是字符串中的字符都必须是十进制数字。

✍方法声明

public static short parseShort(String s) throws NumberFormatException

  • 📥入参:s包含要解析的Short表示形式的String。
  • 🪐返回值:十进制的Short值。
  • 🐛抛出异常NumberFormatException:如果String不包含可解析的Short。

该字符串中的字符必须都是十进制数字,除非第一个字符是表示负值的ASCII符号中的负号‘-’(\u002D)。返回得到的short值,此值与用该参数和基数10作为参数的parseShort(java.lang.String,int)方法得到的值相同。

    public static void main(String[] args) {
        short num1 = Short.parseShort("123"); //123
        short num2 = Short.parseShort("-123"); // -123
        short num3 = Short.parseShort("+1234"); // 1234
    }

下面这几种形式是不支持的:

    // 字符串没有内容
    short num = Short.parseShort(""); // java.lang.NumberFormatException
    // 字符串为空 Null
    short num1 = Short.parseShort(null); // java.lang.NumberFormatException
    // 字符串超过 short 取值范围
    short num2 = Short.parseShort("123456789"); // java.lang.NumberFormatException
    // 字符串包含非数字
    short num3 = Short.parseShort("1024M"); // java.lang.NumberFormatException

✍方法声明

将string参数解析为有符号的Short,基数由第二个参数指定。

public static short parseShort(String s,int radix) throws NumberFormatException

  • 📥入参:s:包含要解析的Short表示形式的String。
  • radix:解析s时使用的基数。
  • 🪐返回值:由指定基数中的字符串参数表示的short。
  • 🐛抛出异常NumberFormatException:如果String不包含可解析的int。
    public static void main(String[] args) {
        short num1 = Short.parseShort("110", 2);
        short num2 = Short.parseShort("1F", 16);
        short num3 = Short.parseShort("123", 8);
        short num = Short.parseShort("89", 8);
    }

对于八进制的数,其数字范围在 0~7 之间。

6
31
83
java.lang.NumberFormatException: For input string: “89”

📝总结

Short类提供了多种方法来支持short类型的转换和解析。

这些方法对于处理不同类型的数值数据和进行类型转换非常有用。

在进行转换时,需要注意数值范围的问题,以避免数据截断或溢出。

对于字符串到short类型的转换,parseShort方法允许指定基数,使得它可以解析不同进制的数值字符串。如果转换过程中遇到无效的数值表示,将会抛出NumberFormatException异常。

开发者在使用这些方法时应该确保处理这些潜在的异常情况。

转载请注明出处:码谱记录 » 短整数Short与其他类型转换
标签: