Java基础 18

版权声明: https://blog.csdn.net/qq_40794602/article/details/87278730

BigInteger类的概述和方法使用:

  • BigInteger的概述:
  • 可以让超过Integer范围内的数据进行运算
  • 构造方法:
  • public BigInteger(String val)
  • 成员方法:
  • public BigInteger add(BigInteger val)
  • public BigInteger subtract(BigInteger val)
  • public BigInteger multiply(BigInteger val)
  • public BigInteger divide(BigInteger val)
  • public BigInteger[] divideAndRemainder(BigInteger val)

BigInteger--EG:

    //需要导入 import java.math.BigInteger;
    public static void main(String[] args) {

			BigInteger bi1 = new BigInteger("2147483647");
			BigInteger bi2 = new BigInteger("1");
			
			//+ 运算
			BigInteger sum = bi1.add(bi2);
			System.out.println(sum);
			
			//- 运算
			BigInteger subtract = bi1.subtract(bi2);
			System.out.println(subtract);
			
			//* 运算
			BigInteger multi = bi1.multiply(bi2);
			System.out.println(multi);
			
			// / 运算
			BigInteger divide = bi1.divide(bi2);
			System.out.println(divide);
			
			// % 求模
			BigInteger[] bis = bi1.divideAndRemainder(bi2);
			System.out.println("商:" + bis[0]);
			System.out.println("余数:" + bis[1]);
		
	}

BigDecimal类的概述和方法使用:

  • BigDecimal的概述:
  • 由于在运算的时候,float类型和double很容易丢失精度。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
  • 构造方法:
  • public BigDecimal(String val)
  • 成员方法:
  • public BigDecimal add(BigDecimal augend)
  • public BigDecimal subtract(BigDecimal subtrahend)
  • public BigDecimal multiply(BigDecimal multiplicand)
  • public BigDecimal divide(BigDecimal divisor)

BigDecimal--EG:

	//需要导入  import java.math.BigDecimal;
    public static void main(String[] args) {
		
		// System.out.println(2.0 - 1.1); //不准确

		BigDecimal bd1 = new BigDecimal("2.0");
		BigDecimal bd2 = new BigDecimal("1.1");

		// + 运算
		BigDecimal sum = bd1.add(bd2);
		System.out.println(sum);

		// - 运算
		BigDecimal subtract = bd1.subtract(bd2);
		System.out.println(subtract);

		// * 运算
		BigDecimal multi = bd1.multiply(bd2);
		System.out.println(multi);

		// / 运算
		BigDecimal bd3 = new BigDecimal("1.0");
		BigDecimal bd4 = new BigDecimal("0.25");

		/***
		 * 在使用BigDecimal做除法运算时,这两个数要能被除尽,否则就会报错
		 */
		BigDecimal divide = bd3.divide(bd4);
		System.out.println(divide);
	}

Date类的概述和方法使用:

  • Date类的概述:
  • 类 Date 表示特定的时间,精确到毫秒。
  • 构造方法:
  • public Date()
  • public Date(long date)
  • 成员方法:
  • public long getTime()
  • public void setTime(long time)

Date--EG:

	//需要导入  import java.util.Date;
    public static void main(String[] args) {
		
		//第一种构造方法
		Date data1 = new Date();
		System.out.println(data1.getTime()); //获取  1970.1.1 0:0:0 到现在走过的毫秒数(时间戳)
		
		//第二种构造方法
		 long time = 1517535712590L;
		 Date date = new Date(time);
		 
	}

SimpleDateFormat类实现日期和字符串的相互转换:

  • DateFormat类的概述:
  • DateFormat 是日期/时间格式化子类的抽象类,用于格式化并解析日期或时间。它是一个抽象类,所以使用其子类SimpleDateFormat
  • SimpleDateFormat构造方法:
  • public SimpleDateFormat()  //用的少
  • public SimpleDateFormat(String pattern)
  • 成员方法:
  • public final String format(Date date)
  • public Date parse(String source)

SimpleDateFormat--EG:

	//需要导入import java.text.DateFormat;
        //   import java.text.SimpleDateFormat;
        //   import java.util.Date;
    public static void main(String[] args) {

		//1.获取当前日期时间
		Date date = new Date();
		System.out.println(date);
		
		//2.想把日期的显示格式 “Fri Feb 02 10:07:16 CST 2018” 转成 “2018年02月02日 10:07:16”
		//2.1创建一个 “日期格式化对象”
		/***
		 * pattern:表达式
		 * y:表年
		 * M:表示月
		 * d:表示日
		 * HH:大写的H表示24小时进制
		 * hh:小写的h表示12小时进制
		 * a:表示上下午
		 * mm:表示分
		 * ss:表示秒
		 * z:表示时区
		 * S:表示毫秒
		 */
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		//DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//多态
		
		//2.2 把Date类型 转成固定格式的 字符串
		String str = sdf.format(date);
		System.out.println(str);
		
	}

Calendar类的概述和获取日期的方法:

  • Calendar类的概述:
  • Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
  • 成员方法:
  • public static Calendar getInstance()
  • public int get(int field)
  • EG1:
    	//需要导入  import java.util.Calendar;
        public static void main(String[] args) {
    
    		Calendar calendar = Calendar.getInstance();
    		System.out.println(calendar);
    		
    		//2.获取年
    		System.out.println("年" + calendar.get(Calendar.YEAR));
    		//2.获取月
    		System.out.println("月" + calendar.get(Calendar.MONTH));//月数 + 1
    		//2.获取日
    		System.out.println("日" + calendar.get(Calendar.DAY_OF_MONTH));
    		//2.获取时
    		System.out.println("时" + calendar.get(Calendar.HOUR));
    		//2.获取分
    		System.out.println("分" + calendar.get(Calendar.MINUTE));
    		//2.获取秒
    		System.out.println("秒" + calendar.get(Calendar.SECOND));
    		
    		//获取周几
    		//日 一 二 三 四 五 六
    		//1  2  3 4 5 6 7
    		System.out.println("周" + calendar.get(Calendar.DAY_OF_WEEK));
    		
    		
    	}

    EG2:

    	//需要导入  import java.util.Calendar;
        public static void main(String[] args) {
    		//Calendar类的set()方法使用
    		Calendar calendar1 = Calendar.getInstance();
    		//设置日历为2016年3月9日
    		calendar1.set(2016, 2, 9);//设置年月日
    		//获取年月
    		System.out.println("年" + calendar1.get(Calendar.YEAR));
    		System.out.println("月" + calendar1.get(Calendar.MONTH));
    		System.out.println("日" + calendar1.get(Calendar.DAY_OF_MONTH));
    		
    		//Calendar类的add()方法使用
    		Calendar calendar2 = Calendar.getInstance();
    		//add方法,给字段加值
    		calendar2.add(Calendar.YEAR, 2);//给年字段+1
    		calendar2.add(Calendar.MONTH, -1);//给月份+1
    		//获取年
    		System.out.println("年" + calendar2.get(Calendar.YEAR));
    		//获取月
    		System.out.println("月" + calendar2.get(Calendar.MONTH));
    		
    	}

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/87278730