java-数字类

对于6种基本的数字类型,java提供了相对应的类。Number类和六种细分的子类。

  注意:Number除了这些子类以外,还有四个子类,其中BigDecimal和BigInteger用于高精度的计算,而AtomicInteger和AtomicLong则用于多线程程序,再次不作介绍。

java的数字类提供了一些功能,如各个数字类会定义一些常量 如最大值,最小值等,此外,这些类还包含一些能够将基本数据类型到字符串的相互转化,以及各进位制的转换。

下表类除了一些Number子类所共有的方法:

方法 描述
byte byteValue()

short shortValue()

int intValue()

long longValue()

float floatValue()

double doubleValue()


将该数字对象转化为基本数字类型,并返回

int compareTo(Byte anotherByte)

int compareTo(Double anotherDouble)

int compareTo(Float anotherFloat)

int compareTo(Integer anotherInteger)

int compareTo(Long anotherLong)

int compareTo(Short anotherShort)

将该数字对象与参数对比

boolean equals(Object obj)
判断该数字对象是否与参数相等,如果参数的类型与值和该数字对象相等,则返回true,对于Double和Float类型还有额外的要求,详见API文档

每个数字类还含有一些用于和字符串与各个进位制之间的转换的方法,以下以Integer为例列举:

 方法 描述
static Integer decode(String s) 将一个字符串转化成位一个Integer对象,字符串的形式可以使十进制(默认),八进制(以0开头)和十六进制(以0x开头)。
static int parseInt(String s) 返回一个整数(十进制)。
static int parseInt(String s, int radix) 返回一个字符串转化的整数 (radix 代表进位制, 10, 2, 8, 或者 16分别代表十进制,二进制,8进制和16进制 ) 。
String toString() 返回一个代表该数字的字符串
static String toString(int i) 返回代表一个指定基础类型的整数的字符串
static Integer valueOf(int i) 返回一个指定基础类型的整数所对应的Integer类
static Integer valueOf(String s) 返回一个由字符串转化的Integer 类,该字符串必须以十进制表示
static Integer valueOf(String s, int radix) 返回一个有字符串转化的Integer类,第二个参数指定进位制。

数字输出格式

  利用PrintStream(System.out是一个PrintStream对象)的printf和format方法能够将字符串和数字组合输出。其print方法和println方法只能输出单一对象。

  printf和format方法是相同的,使用语法为:

format(format, Object... )

其中,第一个参数format指定输出的格式,其后可跟若干个输出的对象,使用示例:

int i = 461012;
System.out.format("The value of i is: %d%n", i);

输出格式字符串由文本和格式标识符构成,格式标识符以%开始,以转换字符结束,转换字符是一个表明数据类型的字符,格式标识符中间可以有其他的标记和标识符,详见java.util.Formatter

此外,java.text.DecimalFormat类也可用于控制数字中的开始和结尾的零,前后缀,分组和小数点。

对于数字,java提供了Math类进行一些高级的书序运算如求绝对值,三角函数,指数函数等。

此外Math类还提供了ramdom方法用来产生一个随机数字:

// 0.0 <= Math.random() < 1.0,因此如下句子将产生一个0-10的随机整数
int number = (int)(Math.random() * 10);

如果需要产生一系列的随机数,还可用java.util.Random

时间: 2024-10-10 14:06:26

java-数字类的相关文章

应用Java去除一维数组中的重复数字,且不借助任何java工具类。

昨天有个朋友突然问了我这个问题,一时我竟然无言以对,刚开始就是局限于没办法记录重复位置,作为刚刚接触java语言的菜鸟,绞尽脑汁地一最笨的方法实现了,还望大神指点出更好的方法. public class Test01 { public static void main(String[] args) { test1(); } /** * 方法名: test1 * 方法描述:一位数组去除重复的数字,不借助java工具类,方法比较笨拙,还请高手指点 * @param: Test01 * @return

Java:类与继承(隐藏和覆盖的问题)

盒子先生金金 Java:类与继承(隐藏和覆盖的问题) Java:类与继承 Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识.首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性.以下是本文的目录大纲: 一.你了解类吗? 二.你了解继承吗? 三.常见的面试笔试题 若有不正之处,请多多谅解并欢迎批评指正. 请尊重作者劳动成果

Java String类

JAVA String类[转] 1.String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”; 其实按照面向对象的标准语法,其格式应该为: String s = new String(“abc”); s = new String(“Java语言”); 只是按照面向对象的标准语法,在内存使用上存在比较大的浪费.例如String s = new String

java File类的基本操作

(如果有谁想要这个软件的话,在评论中留一个邮箱吧.) 前几天好几次看到有朋友晒出玩2048刷高分的截图,我就想我能不能也做一个2048呢?仔细想了想2048游戏的规律,发现其实逻辑上很简单,也不用研究什么算法,于是我马上觉得我可以很快写出来.当天下午我就用了四个小时完成了2048的基本功能.几天后觉得不满足,于是给我的2048加了存档.读档和后退一步的功能,这样就更好刷分了呢! 使用语言:C#: 平台:Visual Studio 2012 Win Form. 如何完成2048的基本功能呢?204

八、java常用类

目录 一.字符串相关类 String类 StringBuffer类 二.基本数据类型包装类 三.Math类 四.File类 五.枚举类 一.字符串相关类 1.String类 java.lang.String代表不可变的字符序列 “xxxx”为该类的一个对象 String类常见的构造方法: String(String original)//创建一个String对象为original的拷贝 String(char90 value)//用一个字符数组创建一个String对象 String(char[]

【转】Java数字抽奖游戏核心代码

1. [代码][Java]代码    package com.luiszhang.test; import java.util.Arrays; /** * NumberLotteryGame * 一个简单的数字彩票游戏类 * @author LuisZhang * 参考了core java 8th中的例3-7的设计思想 */public class NumberLotteryGame {    private int gamesNumber;    // 生成游戏的数量,为以后多线程扩展做考虑 

Java异常类

原文出自:http://blog.csdn.net/hguisu/article/details/6155636  在原文的基础上做优化和编辑. 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件.当条件生成时,错误将引发异常. Java异常类层次结构图:

java date类型和calendar类型区别

Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. 1.使用Date类代表当前系统时间 Date d = new Date(); System.out.println(d); 使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下: Sun Ma

java常用类之封装类

public class BaseTypeClassTest { /*  *   常用类  *   1.基本类型的封装类:  在Java语言中,八种基本类型均对应着一个封装类.  *   *    byte ====>>>  Byte  *    short ===>>>  Short  *    int =====>>>  Integer  *    long ====>>>  Long  *   *    float ===>

(转)《深入理解java虚拟机》学习笔记5——Java Class类文件结构

Java语言从诞生之时就宣称一次编写,到处运行的跨平台特性,其实现原理是源码文件并没有直接编译成机器指令,而是编译成Java虚拟机可以识别和运行的字节码文件(Class类文件,*.class),字节码文件是一种平台无关的中间编译结果,字节码文件由java虚拟机读取,解析和执行,java虚拟机屏蔽了不同操作系统和硬件平台的差异性. 如今的java虚拟机已经称为一种通用平台,不但能够运行java语言,Groovy,JRuby,Jython等一大批动态语言也可以直接在Java虚拟机上运行,其原理也是这