package com.guada.math;publicclassDemo1_Math{/**
* 常见的Math类的方法
* Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
* E :double值比其他任何一个都更接近 e ,自然对数的基数。
PI :double值比任何其他的更接近 pi ,圆周长与其直径的比率。
abs(double a) :返回值为 double绝对值。
ceil(double a) :返回大于或等于参数的最小(最接近负无穷大) double值,等于一个数学整数
floor(double a) :返回小于或等于参数的最大(最接近正无穷大) double值,等于一个数学整数。
max(double a, double b) :返回两个 double值中的较大值 min.
pow(double a, double b) :将第一个参数的值返回到第二个参数的幂。
random() :返回值为 double值为正号,大于等于 0.0 ,小于 1.0 。
round(float a) :返回参数中最接近的 int ,其中 int四舍五入为正无穷大。
sqrt(double a) :返回的正确舍入正平方根 double值。
*/publicstaticvoidmain(String[] args){
System.out.println(Math.E);
System.out.println(Math.PI);
System.out.println(Math.abs(-10));
System.out.println(Math.ceil(12.3));
System.out.println(Math.floor(12.3));
System.out.println(Math.max(3,4));
System.out.println(Math.pow(3.0,4.0));}}
package com.guada.math;import java.util.Random;publicclassDemo2_Random{/**
* Random类
* 该类的实例用于生成伪随机数的流。
* 如果使用相同的种子创建两个Random Random ,并且对每个实例进行相同的方法调用序列,则它们将生成并返回相同的数字序列。
* Random() :创建一个新的随机数生成器。
Random(long seed) :使用单个 long种子创建一个新的随机数生成器。
nextInt() :返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
int nextInt(int bound) :返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。
*/publicstaticvoidmain(String[] args){
Random r =newRandom();for(int i =0;i<10;i++){
System.out.println(r.nextInt());}
System.out.println(r.nextInt(1000));
System.out.println(r.nextInt(1000));//输出1000以内的整数,不包含1000}}
package com.guada.math;publicclassDemo3_System{/**
* A:System类的概述
* System类包含一些有用的 类字段和方法,不能被实例化
* B:成员方法
* public static void gc()
* public static void exit(int status)
* public static long currentTimeMills()
* public static void arraycopy (Object src,int srcPos,Object dest,int destPos,int length)
*
*/publicstaticvoidmain(String[] args){// demo1();// demo2();// demo3();demo4();}publicstaticvoiddemo4(){int arr []={11,22,33,44,55,66};int arr1 []=newint[8];for(int i =0; i < arr1.length; i++){
System.out.println(arr1[i]);}
System.arraycopy(arr,0, arr1,0, arr.length);for(int i =0; i < arr1.length; i++){
System.out.println(arr1[i]);}}publicstaticvoiddemo3(){long start = System.currentTimeMillis();for(int i =0; i <1000; i++){
System.out.println("*");}long end = System.currentTimeMillis();//获取当前时间的毫米值
System.out.println(end-start);}publicstaticvoiddemo2(){
System.exit(0);//退出JAVA虚拟机jvm,非0状态是异常终止
System.out.print("LLLLLLLLLL");}publicstaticvoiddemo1(){for(int i =0; i <10; i++){newDemo();
System.gc();}}}classDemo{//同一个源文件中只允许存在一个public类@Overrideprotectedvoidfinalize(){
System.out.println("收取垃圾");}}
package com.guada.math;import java.math.BigInteger;publicclassDemo4_BigInteger{/**
* A:BigInteger的概述
* 可以让超过Integer范围内的数据进行运算
* B:构造方法
* public BigInteger(String val)
* C:成员方法
* 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)
*/publicstaticvoidmain(String[] args){
BigInteger bi1 =newBigInteger("1000");
BigInteger bi2 =newBigInteger("2");
System.out.println(bi1.add(bi2));
System.out.println(bi1.divide(bi2));
System.out.println(bi1.multiply(bi2));
System.out.println(bi1.mod(bi2));
BigInteger b []= bi1.divideAndRemainder(bi2);for(int i =0; i < b.length; i++){
System.out.println(b[i]);}}}
package com.guada.math;import java.util.Date;publicclassDemo6_Date{/**
*A:Date类的概述
* 类Date表示特定的瞬间,精确到毫秒
*B.构造方法
* public Date()
* public Date(long date)
*C:成员方法
* public long getTime()
* public void setTime(long time)
*/publicstaticvoidmain(String[] args){// demo1();
Date d1 =newDate();
System.out.println(d1.getTime());//通过
System.out.println(System.currentTimeMillis());}publicstaticvoiddemo1(){
Date d1 =newDate();//创建一个Date对象
System.out.println(d1);//输出当前系统时间
Date d2 =newDate(0);
System.out.println(d2);}}
8.
```java
package com.guada.math;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo7_DateFormat {
/**
* A:DateFormat类的概述
* DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间,是 抽象类,所以使用其子类SimpleDateFormat
* B:SimpleDateFormat构造方法
* public SimpleDateFormat()
* public SimpleDateFormat(String pattern)
* C:成员方法
* public final String format (Date date)
* public Date parse (String source)
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
//demo1();
// demo2();
// demo3();
//demo4();
demo5();
}
public static void demo5() throws ParseException {
//计算从出生到现在一共活了多少天
String birthday = "2000年10月01日";
String today = "2019年09月25日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(today);
long day = d2.getTime()-d1.getTime();
System.out.println(day/1000/60/60/24);
}
public static void demo4() throws ParseException {
//将字符串转换成时间对象
String str = "2000年02月02日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date d = sdf.parse(str);
System.out.println(d);
}
public static void demo3() {
Date d = new Date(); //获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("Y/M HH:mm:ss"); //创建日期格式化类
System.out.println(sdf.format(d)); //2019/9 16:24:24 将时间对象转换成字符串
}
public static void demo2() {
Date d = new Date(); //获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat(); //创建日期格式化类
System.out.println(sdf.format(d)); //19-9-25 下午4:16按照此类格式输出
}
public static void demo1() {
//DateFormat df = new DateFormat(); //DateFormat 是抽象类,不允许对象实例化
DateFormat df = DateFormat.getDateInstance(); //相当于父类引用指向子类对象
System.out.println(df);
}
}
package com.guada.math;import java.util.Calendar;import java.util.Scanner;publicclassDemo8_Calendar{/**
* A:Calendar类概述:
* Calendar类是一个抽象类,它为特定的瞬间与一组诸如YEAR,MONTH,DAY_OF_MONTH,HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如过去下星期的日期)提供了一些方法.
* B:成员方法
* public static Calendar getInstance()
* public int get(int field)
* C:add()和set()方法
* 成员方法:
* public void add (int field,int amount)
* public final void set (int year,int month ,int date)
*
*/publicstaticvoidmain(String[] args){// demo1();// demo2();//键盘录入一个年,判断是平年还是闰年
Scanner sc =newScanner(System.in);
System.out.println("请输入年份");int num = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(num,2,1);
c.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(c.get(Calendar.DAY_OF_MONTH));if(c.get(Calendar.DAY_OF_MONTH)==29){
System.out.println(num+"年是闰年");}else{
System.out.println(num +"年是平年");}}publicstaticvoiddemo2(){
Calendar c= Calendar.getInstance();
c.add(Calendar.YEAR,1);
System.out.println(c.get(Calendar.YEAR));// 2020
c.set(Calendar.YEAR,2021);
System.out.println(c.get(Calendar.YEAR));}publicstaticvoiddemo1(){
Calendar c = Calendar.getInstance();//父类引用指向子类对象
System.out.println(c);
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日"+getWeek(c.get(Calendar.DAY_OF_WEEK)));//输出当前的年月日星期几}publicstatic String getWeek(int week){
String [] s ={"星期一","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};return s[week];}}