Logo

郎哥编程

短整型Short类

2019-12-14 1033

Short类是基本数据类型short的包装类,该类包含一个short类型的成员变量,该类在Java.lang包下。

Short对象的创建

创建Short对象非常简单,可以通过Short类型和字符串类型来创建Short对象。创建代码如下:

Short number1 =  new  Short((short)20);
Short number2 =  new  Short("35");
Short number3 =  Short.valueOf((short)310);
Short number4 =  Short.valueOf((short)80);
Short number5 =  Short.valueOf("80");

上面代码创建了5个Short对象,分别是number1、number2、number3、number4、number5。

number1使用new运算符实例化Short对象,传入的参数要求是short类型,因此需要将传入的整数(整数默认是int类型)强制转换为short类型。

number2使用new运算符实例化Short对象,传入的参数是数字字符串。

number3和number4使用Short类的静态方法valueOf()实例化Short对象,传入的参数是整数。valueOf()方法在实例化Short对象时,会对传入的数值大小进行判断,当数值范围在-128至127之间时,它会直接返回在在内存池中Short对象的引用。只有数值范围不在-128至127之间时。它才会在堆中分配内存,创建一个新的Short对象,并返回对象的引用。

Number5使用Short类的静态方法valueOf()实例化Short对象,传入的是参数是数字字符串。

返回基本数值数据类型

实例化的Short对象可以返回基本数据类型表示的数值,返回的基本数据类型包括short、double、byte等类型。

Short number1 =  new  Short((short)20);
short shortNum = number1.shortValue();
double doubleNum = number1.doubleValue();
byte byteNum = number1.byteValue();

Short对象提供了shortValue()方法返回short类型的数值;doubleValue()方法返回double类型的数值;byteValue()方法返回byte类型的数值。

Short对象和String对象的转换

在实际编程中,经常需要在数值和字符串之间进行类型转换。Short对象提供了toString()方法,返回表示该Short数值的String对象。

Short number1 =  new  Short((short)20);
String  strNumber = number1.toString();

number1调用toString()方法返回表示该Short数值的String对象。

Short对象同时提供了parseShort()方法,将字符串对象转换为short类型,parseShort()方法是Short类的静态方法,可以直接通过类名调用。

short nValue = Short.parseShort("230");

上面的代码调用Short类的parseShort()方法,将字符串转换为short类型。

判断两个Short对象是否相等

Short类重写了Object类的equals()方法,可以判断当前Short对象表示的数值与指定的Short对象表示的数值是否相等。

Short number1 =  new  Short((short)20);
Short number2 =  new  Short("35");
boolean bEaual = number1.equals(number2);

number1调用equals()方法判断与number2的表示的数值是否相等。

判断short类型取值范围

Short类提供了四个常量来表示short类型取值范围、int值的二进制位数、Class实例类型。

MAX_VALUE

int类型可取的最大值,即2^15 – 1。

MIN_VALUE

int类型可取的最小值,即-2^15。

SIZE

short值的二进制位数。

TYPE

Class实例类型,该值为short。

案例1:用不同方式创建Short对象、字符串和short类型的转换、获取short的值、判断两个Short对象的值是否相等、输出short取值范围的最大值和最小值。

在PBaseUnit15项目unit包下,创建Java类ShortSample。代码如下:

/** 
* @Title: ShortSample.java 
* @Package unit 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date 
* @version V1.0 
*/ 
 
package unit;
 
/** 
* @ClassName: ShortSample 
* @Description: 基本数据类型包装类(Short类)案例1
* @author 编程训练营 
* @date 
* 
*/
 
public class ShortSample {
 
    /** 
    * @Title: main 
    * @Description: Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       // 使用new运算符创建,传入参数为整数
       Short number1 =  new Short((short) 20);
       // 使用new运算符创建,传入参数为数字型字符串
       Short number2 =  new  Short("35");
        // 使用valueOf方法创建,传入参数为整数
       Short number3 =  Short.valueOf((short) 19);
        // 使用valueOf方法创建,传入参数为数字型字符串
       Short number4 =  Short.valueOf("22");
       
        // Short对象转换为字符串
        System.out.println("number1的值为:" + number1.toString());
        System.out.println("number2的值为:" + number2.toString());
        System.out.println("number3的值为:" + number3.toString());
        System.out.println("number4的值为:" + number4.toString());
       
        //字符串转换为short类型
        short nValue = Short.parseShort("230");
        System.out.println("nValue的值为:" + nValue);
       
        // 比较两个Short的值是否相等
        boolean bEaual = number1.equals(number2);
        if( bEaual )
        {
           System.out.println("number1等于number2");
        }
        else
        {
           System.out.println("number1不等于number2");
        }
       
        // 输出short取值范围
        System.out.println("short类型可取的最大值为:" + Short.MAX_VALUE);
        System.out.println("short类型可取的最小值为:" + Short.MIN_VALUE);
       
    }
 
}

程序执行结果如下图所示:

image.png

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论