BigDecimal
和BigInteger类似,BigDecimal可以表示一个任意大小且精度完全准确的浮点数。 BigDecimal bd = new BigDecimal("123.4567"); System.out.println(bd.multiply(bd)); // 15241.55677489 Big
BigInteger
在Java中,由CPU原生提供的整型最大范围是64位long型整数。使用long型整数可以直接通过CPU指令进行计算,速度非常快。 如果我们使用的整数范围超过了long型怎么办?这个时候,就只能用软件来模拟一个大整数。java.math.BigInteger就是用来表示任意大小的整数。BigInte
包装类型
我们已经知道,Java的数据类型分两种: 基本类型:byte,short,int,long,boolean,float,double,char; 引用类型:所有class和interface类型。 引用类型可以赋值为null,表示空,但基本类型不能赋值为null: String s = null;
字符串和编码
String 在Java中,String是一个引用类型,它本身也是一个class。但是,Java编译器对String有特殊处理,即可以直接用"..."来表示一个字符串: String s1 = "Hello!"; 实际上字符串在String内部是通过一个char[]数组表示的,因此,按下面的写法也
设计模式-原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据
方法重载
在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。例如,在Hello类中,定义多个hello()方法: class Hello { public void hello() { System.out
构造方法
创建实例的时候,我们经常需要同时初始化这个实例的字段,例如: Person ming = new Person(); ming.setName("小明"); ming.setAge(12); 初始化对象实例需要3行代码,而且,如果忘了调用setName()或者setAge(),这个实例内部的状态就
数组排序
对数组进行排序是程序中非常基本的需求。常用的排序算法有冒泡排序、插入排序和快速排序等。 我们来看一下如何使用冒泡排序算法对一个整型数组从小到大进行排序: // 冒泡排序 import java.util.Arrays; public class Main { public static v
基本数据类型
基本数据类型是CPU可以直接进行运算的类型。Java定义了以下几种基本数据类型: 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean Java定义的这些基本数据类型有什么区别呢?要了解这些区别,我们就必须简单了解一下计