JAVA概述
第一部分:java入门基础
- java数组入门教程
- java数组的遍历
- 基于debian(ubuntu)的JDK安装与卸载-vps环境搭建实录(一)
- java环境变量配置(windows7系统)
- java开发环境配置
- 第一个java程序 helloword
- 使用eclipse快速开发java程序
- Java基础语法
- Java对象和类
- Java基本数据类型
- Java变量类型
- Java修饰符
- Java运算符
- Java循环结构 – for, while 及 do…while
- Java分支结构 – if…else/switch
第二部分:java常用类
- Java Number类
- Java Character类
- Java String类
- Java日期时间
- java异常处理分类
- java Exception异常处理实例
- java.util.UUID 工具类详解
- java数字格式化类DecimalFormat详解
第三部分:jdbc系列教程
- JDBC系列教程之一:jdbc简单介绍
- JDBC系列教程之二:jdbc连接数据的步骤
- JDBC系列教程之三:JDBC基本的CRUD(创建、读取、更新、删除)
- JDBC系列教程之四:SQL注入PreparedStatement和Statement
- JDBC系列教程之五:数据类型
- JDBC系列教程之六:一个简单用户相关的数据访问层
- JDBC系列教程之七:用配置文件(properties)和反射实现与具体类的耦合
- JDBC系列教程之八:事务-ACID
- JDBC系列教程之九:事务-SavePoint与JTA
- JDBC系列教程之十:隔离级别
- JDBC系列教程之十一:其他的几个API
- JDBC系列教程之十二:DatabaseMetaData(数据库的元数据信息)和ParameterMetaData(参数的元数据信息)
- JDBC系列教程之十三:ResultSetMetaData
- JDBC系列教程之十四:用反射ResultSetMetaData将查询结果读入对象中
- JDBC系列教程之十五:数据源和连接池
第四部分:java高级特征
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
java8新特征详解
java文件操作专题教程
知识点
相关文章
更多最近更新
更多Java Number类
2019-03-28 22:35|来源: 网络
Java Number类
一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double等。
实例
int i = 5000; float gpa = 13.65; byte mask = 0xaf;
然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。
下面是一个装箱与拆箱的例子:
public class Test{ public static void main(String args[]){ Integer x = 5; // boxes int to an Integer object x = x + 10; // unboxes the Integer to a int System.out.println(x); } }
以上实例编译运行结果如下:
15
当x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。
Number类的成员方法
下面的表中列出的是Number类的方法:
序号 | 方法与描述 |
---|---|
1 | xxxValue() 将number对象转换为xxx数据类型的值并返回。 |
2 | compareTo() 将number对象与参数比较。 |
3 | equals() 判断number对象是否与参数相等。 |
4 | valueOf() 返回一个Integer对象指定的内置数据类型 |
5 | toString() 以字符串形式返回值。 |
6 | parseInt() 将字符串解析为int类型。 |
7 | abs() 返回参数的绝对值。 |
8 | ceil() 对整形变量向左取整,返回类型为double型。 |
9 | floor() 对整型变量向右取整。返回类型为double类型。 |
10 | rint() 返回与参数最接近的整数。返回类型为double。 |
11 | round() 返回一个最接近的int、long型值。 |
12 | min() 返回两个参数中的最小值。 |
13 | max() 返回两个参数中的最大值。 |
14 | exp() 返回自然数底数e的参数次方。 |
15 | log() 返回参数的自然数底数的对数值。 |
16 | pow() 返回第一个参数的第二个参数次方。 |
17 | sqrt() 求参数的算术平方根。 |
18 | sin() 求指定double类型参数的正弦值。 |
19 | cos() 求指定double类型参数的余弦值。 |
20 | tan() 求指定double类型参数的正切值。 |
21 | asin() 求指定double类型参数的反正弦值。 |
22 | acos() 求指定double类型参数的反余弦值。 |
23 | atan() 求指定double类型参数的反正切值。 |
24 | atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。 |
25 | toDegrees() 将参数转化为角度。 |
26 | toRadians() 将角度转换为弧度。 |
27 | random() 返回一个随机数。 |
转自网络
相关问答
更多-
java容器类和集合类是一个概念吗?[2022-08-22]
容器是指放东西的物品,在JAVA里面也是这样的,比如 list 是可以用来放对象的列表 你也可以自定义一些类来放其它对象,那么,你定义的这个类就是其它对象的容器。 集合是一组可变数量的数据项,集合的种类包括列表,集,多重集,树和图,通俗地讲就是这么一堆东西。 -
java的抽象类怎么用??[2022-07-25]
抽象类就是对类定义的一个框架,其它类可以按照这个框架来建立,减少代码量。 例如:水果是个抽象类,水果抽象类中定义了一个“吃”过程,这个过程是没法实现的(西瓜和猕猴桃显然有不同吃法),如果我要建立西瓜类,我就可以用水果抽象类这个框架,单独写西瓜“吃”的过程(切开,吃,扔掉皮) -
一个Java类中使用的lambda表达式的最大数量是多少?(What is the maximum number of lambdas used in one Java class?)[2023-07-27]
Java语言规范没有规定限制,所以我们只有技术限制。 规范也没有要求特定的编译形式,所以即使技术限制也是模糊的。 Lambda表达式被编译到托管lambda表达式主体的类文件的方法中,但这不是严格要求的。 最值得注意的是,形式foo -> bar(foo)简单表达式可以像方法引用一样编译。 此外,相同的lambda表达式可以使用相同的方法进行编译。 这是一种目前尚未发生的优化,它也使调试变得更加困难,但原则上它是允许的。 另外,当智能编译器检测到极限即将达到的不太可能的情况时,智能编译器可以开始生成托管la ... -
另一个理论: 为什么shortValue()方法是具体的,但intValue()是否抽象为java.lang.Number? 根据Number类的文档,在JDK1.1中首先添加了方法byteValue和shortValue。 这与第一个JDK版本中已经提供的其他“Value”方法不同。 我的假设是,这两种方法是为了保持与Number的现有(也是非标准)子类的兼容性,否则这些子类在超类中增加了新的抽象方法。 要么 : 数字类中的抽象方法 一看他们的来源说为什么: public byte byteValue() ...
-
Java类代表一个数字(Java class represents a number)[2023-10-22]
你的代码没问题。 它似乎涵盖了这个问题。 Your code is OK. It seems that it covers the issue. -
使用Java获取生成的本体中的兄弟类的名称和计数(Take name and count number of sibling classes in generated ontology using Java)[2022-01-12]
OntClass.getSuperClass()的javadoc说: 这个类的超类或null A不会有超类。 The javadoc for OntClass.getSuperClass() says: A super-class of this class or null A will not have a superclass. -
我如何重构这个以减少所需的Java类的数量?(How do I refactor this to reduce the number of java classes needed?)[2022-10-20]
你不能实例化一个接口,你需要一个具体的子类。 但是,创建具体的子类只会增加您尝试避免的类的数量。 最好使用组合而不是继承 。 也就是说,如果您设法为表单创建通用接口,并在一个方法后面隐藏操作deleteCommitmentItem , deleteProgram等,则可以使用所需的表单(或提供此工具的工厂)参数化您的操作实例,例如: public class GenericAction implements ControllerAction { private Form form; private ... -
Number.class.isAssignableFrom(someClass); 这应该够了吧 Number.class.isAssignableFrom(someClass); That should do the trick
-
您正在寻找的术语是“ 圈复杂度 ”。 圈复杂度是一种软件度量(度量),用于指示程序的复杂性。 它是通过程序源代码的线性独立路径数量的定量度量。 如果您使用Eclipse作为IDE,那么有一个名为Eclipse Metrics的插件可以提供此类信息。 The term you are looking for is "cyclomatic complexity". Cyclomatic complexity is a software metric (measurement), used to indicate ...
-
假设您想要计算包含org.junit or org.mockito的行数 然后你想做 while (testScanner.hasNextLine()) { String test = testScanner.nextLine(); if (test.contains("org.junit") || test.contains("org.mockito")) { hasTestLines ...