举例:
Date date = new Date(); //产生一个Date实例 //产生一个formater格式化的实例 SimpleDateFormat formater = new SimpleDateFormat(); System.out.println(formater.format(date));//打印输出默认的格式 SimpleDateFormat formater2 = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss"); System.out.println(formater2.format(date)); //实例化一个指定的格式对象 //按指定的格式输出 try { Date date2 = formater2.parse(“2008年08月08日 星期一08:08:08"); //将指定的日期解析后格式化按指定的格式输出 System.out.println(date2.toString()); } catch (ParseException e) { e.printStackTrace(); }
public void set(int field,int value) public void add(int field,int amount) public final Date getTime() public final void setTime(Date date)
public Biginteger abs()//返回其值是此 BigInteger 的绝对值. public Biginteger add() //返回其值为 (this + val) 的 BigInteger。 public BigInteger subtract(BigInteger val) //返回其值为 (this - val) 的 BigInteger。 public BigInteger multiply(BigInteger val) //返回其值为 (this * val) 的 BigInteger。 public BigInteger divide(BigInteger val) //返回其值为 (this / val) 的 BigInteger。 public BigInteger remainder(BigInteger val) //返回其值为 (this % val) 的 BigInteger。 public BigInteger pow(int exponent) //返回其值为 (thisexponent) 的 BigInteger。 public BigInteger[] divideAndRemainder(BigInteger val)//返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。
public BigDecimal add(BigDecimal augend)//返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())。 public BigDecimal subtract(BigDecimal subtrahend)//返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())。 public BigDecimal multiply(BigDecimal multiplicand)//返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())。 public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) //返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
public void TestBigInteger(){ BigInteger bi = new BigInteger("12433241123"); BigDecimal bd = new BigDecimal("12435.351"); BigDecimal bd2 = new BigDecimal("11"); System.out.println(bi); //System.out.println(bd.divide(bd2)); System.out.println(bd.divide(bd2,BigDecimal.ROUND_HALF_UP)); System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_UP)); }
练习题:
import java.math.BigDecimal; import java.math.BigInteger; import java.text.SimpleDateFormat; import java.util.Calendar; import org.junit.Test; public class CommonTest { @Test public void test1() { Calendar calendar = Calendar.getInstance(); // 1979-8-10 calendar.set(Calendar.YEAR, 1979); calendar.set(Calendar.MONTH, 7); calendar.set(Calendar.DAY_OF_MONTH, 10); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(calendar.getTime())); calendar.add(Calendar.DAY_OF_MONTH, -100); // 获取当前对象的日期的100天前的日期 System.out.println(sdf.format(calendar.getTime())); } @Test public void test2() { System.out.println((int)(Math.random() * 80 + 10)); System.out.println(Math.round(3.5)); // 4 System.out.println(Math.round(3.4)); // 3 System.out.println(Math.round(-3.4)); // -3 System.out.println(Math.round(-3.5)); // 也是-3 System.out.println(Math.round(-3.6)); // -4 } @Test public void test3() { BigInteger bi = new BigInteger("2342342342392992929922929292920340489498594954954959459202394234"); BigInteger rt = bi.add(new BigInteger("2342342342")); rt = rt.multiply(new BigInteger("100")); System.out.println(rt); BigDecimal bd = new BigDecimal("23423423429883284283482934234.2384293482394293482983423984"); bd = bd.pow(20); System.out.println(bd); // 求一个数的阶乘 System.out.println(jie(10000)); } public String jie(int value) { BigInteger result = new BigInteger("1"); for (int i = value; i > 0; i--) { result = result.multiply(new BigInteger(String.valueOf(i))); } return result.toString(); } }