举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java中数字类型 Java 数字数据类型

java中数字类型 Java 数字数据类型

2023-03-28 14:18 Java教程

java中数字类型 Java 数字数据类型

java中数字类型

Java中的数字类型是指用于表示数字的数据类型,它们可以用来表示整数、浮点数、布尔值或其他特殊的值。Java中有两种主要的数字类型:原始类型(primitive types)和对象引用(object references)。

原始类型是Java中最常用的数字类型,它们可以表示不同大小的整数或浮点数。Java中有8个原始类型:byte、short、int、long、float、double、boolean 和 char。

byte: 一个8位有符号二进制整数。 
short: 一个16位有符号二进制整数。 
int: 一个32位有符号二进制整数。 
long: 一个64位有符号二进制整数。 
float: 32位IEEE 754单精度浮动小树标量。 
double: 64位IEEE 754双重浮动小树标量。 
boolean: 布尔逻辑值true或false。 
char: 16位无符号Unicode字母表字母

对象引用是Java中的面向对象特性之一,它允许将对象作为变量来使用,而不必将它们显式地声明为原始类型。例如:Integer 是 Java 的 int 的包装对象引用;Double 是 Java 的 double 的包装对象引用; Boolean 是 Java 的 boolean 的包装对象引用; Character 是 Java 的 char 的包装对象引用; BigInteger 是 Java 的 long 的包装对象引用; BigDecimal 是 Java 的 double 的包装对象引用; String 是 Java 字面量的包装对象引用; Date 是 Java Date 和 Calendar 对象的包装对象引用; ArrayList 是 Java List 和 Set 集合的包装对象引用; Map 是 Java Map 集合的包装对象引用; Object 是所有其他Java 原生或者非原生(如JPA)实体/POJO/Bean/DTO/VO/BO/POJO/DO/DAO/Entity/Model)的包装对象引用。

Java 数字数据类型

Java数据类型教程 - Java数字数据类型


字节,短整数,整数,长整数,浮点数和双精度类是数字包装类。

它们都继承自抽象的Number类。我们不能创建Number类的对象。然而,er可以声明Number类的引用变量。

我们可以将六个数值包装类中的任何一个的对象引用分配给Number类的引用。

Number类包含六个方法。它们被命名为xxxValue(),其中xxx是六种基本数据类型之一(byte,short,int,long,float和double)。

方法的返回类型与xxx相同。


例子

以下代码显示如何从数值包装器对象检索不同的primate类型值:

public class Main {
  public static void main(String[] args) {
    Integer intObj = Integer.valueOf(100);

    // Gets byte from Integer
    byte b = intObj.byteValue();

    // Gets double from Integer
    double dd = intObj.doubleValue();
    System.out.println("intObj = " + intObj);
    System.out.println("byte from  intObj = " + b);
    System.out.println("double from  intObj = " + dd);

    // Creates a Double object
    Double doubleObj = Double.valueOf("123.45");

    // Gets different types of primitive values from Double
    double d = doubleObj.doubleValue();
    float f = doubleObj.floatValue();
    int i = doubleObj.intValue();
    long l = doubleObj.longValue();

    System.out.println("doubleObj = " + doubleObj);
    System.out.println("double from  doubleObj   = " + d);
    System.out.println("float from  doubleObj   = " + f);
    System.out.println("int from  doubleObj   = " + i);
    System.out.println("long from  doubleObj   = " + l);
  }
}

上面的代码生成以下结果。

方法

Java 8在一些数值包装类(如Integer,Long,Float和Double)中添加了一些方法,如sum(),max()和min()。

例如,Integer.sum(10,20)简单地返回10 + 20的结果。

它们的引用用于使用集合的lambda表达式。

包装器类帮助处理包含原始值的字符串。

  • 使用valueOf()方法将字符串转换为包装器对象。
  • 使用parseXxx()方法将字符串转换为原始值。

字节,短整型,整型,长整型,浮点型和双精度型分别包含parseByte(),parseShort(),parseInt(),parseLong(),parseFloat()和parseDouble

以下代码将包含二进制格式的整数的字符串转换为Integer对象和int值:

public class Main {
  public static void main(String[] args) {
    String str = "01111111";
    int radix = 2;

    // Creates an Integer object from the string
    Integer intObject = Integer.valueOf(str, radix);

    // Extracts the int value from the string
    int intValue = Integer.parseInt(str, 2);

    System.out.println("str = " + str);
    System.out.println("intObject = " + intObject);
    System.out.println("intValue = " + intValue);

  }
}

上面的代码生成以下结果。

所有数值包装类都包含几个有用的常量。它们的MIN_VALUE和MAX_VALUE个常数表示最小值和最大值。它们还具有SIZE常数,其表示对应原始类型的变量占据的位的大小。

以下代码尝试将两个字符串解析为双精度值。

第一个字符串包含有效的double,第二个字符串包含无效的double。当调用parseDouble()方法来解析第二个字符串时,抛出NumberFormatException。

public class Main {
  public static void main(String[] args) {
    String str1 = "123.45";
    try {
      double value1 = Double.parseDouble(str1);
      System.out.println("value1 = " + value1);
    } catch (NumberFormatException e) {
      System.out.println("Error in parsing " + str1);
    }

    String str2 = "8H.9"; // An invalid double
    try {
      double value2 = Double.parseDouble(str2);
      System.out.println("value2 = " + value2);
    } catch (NumberFormatException e) {
      System.out.println("Error in parsing " + str2);
    }

  }
}

上面的代码生成以下结果。

阅读全文
以上是编程学为你收集整理的java中数字类型 Java 数字数据类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部