java-System math Date other类

java-System math Date other类

实例1:Math

/*
 Math 数学类, 主要是提供了很多的数学公式。

 abs(double a)  获取绝对值
 ceil(double a)  向上取整
 floor(double a)  向下取整
 round(float a)   四舍五入
 random()   产生一个随机数. 大于等于 0.0 且小于 1.0 的伪随机 double 值

 */

    public class Main {  

        public static void main(String[] args) {  
            // TODO Auto-generated method stub  
            System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。  
            System.out.println(Math.PI);//比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。  
            /* 
             * 1.abs绝对值函数 
             * 对各种数据类型求绝对值 
             */  
            System.out.println(Math.abs(-10));//输出10  

            /* 
             * 2.三角函数与反三角函数 
             * cos求余弦 
             * sin求正弦 
             * tan求正切 
             * acos求反余弦 
             * asin求反正弦 
             * atan求反正切 
             * atan2(y,x)求向量(x,y)与x轴夹角 
             */  
            System.out.println(Math.acos(-1.0));//输出圆周率3.14...  
            System.out.println(Math.atan2(1.0, 1.0));//输出 π/4 的小数值  

            /* 
             * 3.开根号 
             * cbrt(x)开立方 
             * sqrt(x)开平方 
             * hypot(x,y)求sqrt(x*x+y*y)在求两点间距离时有用sqrt((x1-x2)^2+(y1-y2)^2) 
             */  
            System.out.println(Math.sqrt(4.0));//输出2.0  
            System.out.println(Math.cbrt(8.0));//输出2.0  
            System.out.println(Math.hypot(3.0, 4.0));//输出5.0  

            /* 
             * 4.最值 
             * max(a,b)求最大值 
             * min(a,b)求最小值 
             */  
            System.out.println(Math.max(1, 2));//输出2  
            System.out.println(Math.min(1.9, -0.2));//输出-0.2  
            /* 
             * 5.对数 
             * log(a) a的自然对数(底数是e) 
             * log10(a) a 的底数为10的对数 
             * log1p(a) a+1的自然对数 
             * 值得注意的是,前面其他函数都有重载,对数运算的函数只能传double型数据并返回double型数据 
             */  
            System.out.println(Math.log(Math.E));//输出1.0  
            System.out.println(Math.log10(10));//输出1.0  
            System.out.println(Math.log1p(Math.E-1.0));//输出1.0  
            /* 
             * 6.幂 
             * exp(x) 返回e^x的值 
             * expm1(x) 返回e^x - 1的值 
             * pow(x,y) 返回x^y的值 
             * 这里可用的数据类型也只有double型 
             */  
            System.out.println(Math.exp(2));//输出E^2的值  
            System.out.println(Math.pow(2.0, 3.0));//输出8.0  

            /* 
             * 7.随机数 
             * random()返回[0.0,1.0)之间的double值 
             * 这个产生的随机数其实可以通过*x控制 
             * 比如(int)(random*100)后可以得到[0,100)之间的整数 
             */  
            System.out.println((int)(Math.random()*100));//输出[0,100)间的随机数  

            /* 
             * 8.转换 
             * toDegrees(a) 弧度换角度 
             * toRadians(a) 角度换弧度 
             */  
            System.out.println(Math.toDegrees(Math.PI));//输出180.0  
            System.out.println(Math.toRadians(180));//输出 π 的值  
            /* 
             * 9.其他 
             */  

            //copySign(x,y) 返回 用y的符号取代x的符号后新的x值  
            System.out.println(Math.copySign(-1.0, 2.0));//输出1.0  
            System.out.println(Math.copySign(2.0, -1.0));//输出-2.0  

            //ceil(a) 返回大于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)  
            //可以通过强制转换将类型换成整型  
            System.out.println(Math.ceil(1.3443));//输出2.0  
            System.out.println((int)Math.ceil(1.3443));//输出2  

            //floor(a) 返回小于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)  
            System.out.println(Math.floor(1.3443));//输出1.0  

            //rint(a) 返回最接近a的整数的double值  
            System.out.println(Math.rint(1.2));//输出1.0  
            System.out.println(Math.rint(1.8));//输出2.0  


            //nextAfter(a,b) 返回(a,b)或(b,a)间与a相邻的浮点数 b可以比a小  
            System.out.println(Math.nextAfter(1.2, 2.7));//输出1.2000000000000002  
            System.out.println(Math.nextAfter(1.2, -1));//输出1.1999999999999997    
            //所以这里的b是控制条件  

            //nextUp(a) 返回比a大一点点的浮点数  
            System.out.println(Math.nextUp(1.2));//输出1.2000000000000002  

            //nextDown(a) 返回比a小一点点的浮点数  
            System.out.println(Math.nextDown(1.2));//输出1.1999999999999997     
        }  
    }  



public class Demo4 {

    public static void main(String[] args) {
        System.out.println("绝对值:"+Math.abs(-3));
        System.out.println("向上取整:"+Math.ceil(3.14));
        System.out.println("向下取整:"+Math.floor(-3.14)); //
        System.out.println("四舍五入:"+Math.round(3.54));
        System.out.println("随机数:"+Math.random());

    }
}

实例2:System

import java.util.Arrays;
import java.util.Properties;

/*
 System  系统类 主要用于获取系统的属性数据。

System类常用的方法:
    arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 一般
        src - 源数组。
        srcPos - 源数组中的起始位置。
        dest - 目标数组。
        destPos - 目标数据中的起始位置。
        length - 要复制的数组元素的数量。

    currentTimeMillis()  获取当前系统系统。       重点
    exit(int status)  退出jvm  如果参数是0表示正常退出jvm,非0表示异常退出jvm。    一般

    gc()    建议jvm赶快启动垃圾回收期回收垃圾。
    getenv(String name) 根据环境变量的名字获取环境变量。
    getProperty(key) 

    finalize()  如果一个对象被垃圾回收 器回收的时候,会先调用对象的finalize()方法。
 */

class Person{

    String name;

    public Person(String name) {
        this.name = name;
    }

    @Override
    public void finalize() throws Throwable {
        super.finalize();
        System.out.println(this.name+"被回收了..");
    }
}

public class Demo1 {

    public static void main(String[] args) {
        /*
        int[] srcArr = {10,12,14,16,19};
        //把srcArr的数组元素拷贝 到destArr数组中。
        int[] destArr = new int[4];

        System.arraycopy(srcArr, 1, destArr, 0,4);
        //System.exit(0); //jvm退出..  注意: 0或者非0的 数据都可以退出jvm。对于用户而言没有任何区别。
        System.out.println("目标数组的元素:"+ Arrays.toString(destArr)); // 0 14 16 0
        System.out.println("当前的系统时间:" + System.currentTimeMillis());
        System.out.println("环境变量:"+System.getenv("JAVA_HOME"));


        for(int i = 0 ; i<4; i++){
            new Person("狗娃"+i);
            System.gc(); //建议马上启动垃圾回收期
        }

        Properties properties = System.getProperties();  //获取系统的所有属性。
        properties.list(System.out);
        */
        String value = System.getProperty("os.name");//根据系统的属性名获取对应的属性值
        System.out.println("当前系统:"+value);
    }

}

实例3:

import java.io.IOException;

import javax.management.RuntimeErrorException;

/*
 RunTime   该类类主要代表了应用程序运行的环境。

    getRuntime()  返回当前应用程序的运行环境对象。
    exec(String command)  根据指定的路径执行对应的可执行文件。
    freeMemory()   返回 Java 虚拟机中的空闲内存量。。 以字节为单位
    maxMemory()    返回 Java 虚拟机试图使用的最大内存量。
    totalMemory()    返回 Java 虚拟机中的内存总量



 */
public class Demo2 {

    public static void main(String[] args) throws IOException, InterruptedException {
        Runtime runtime = Runtime.getRuntime();
//      Process process = runtime.exec("C:\\Windows\\notepad.exe");
//      Thread.sleep(3000); //让当前程序停止3秒。
//      process.destroy();
        System.out.println(" Java虚拟机中的空闲内存量。"+runtime.freeMemory());
        System.out.println("Java 虚拟机试图使用的最大内存量:"+ runtime.maxMemory());
        System.out.println("返回 Java 虚拟机中的内存总量:"+ runtime.totalMemory());
    }
}

实例4:Date

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


/*
日期类 Date 


Calendar


日期格式化类    SimpleDateFormat

 */
public class Demo3  {

    public static void main(String[] args) throws ParseException {
        /*Date date = new Date(); // 获取当前的系统时间
        System.out.println("年份:"+ date.getYear());*/
        /*
        Calendar calendar = Calendar.getInstance(); //获取当前的系统时间。
        System.out.println("年:"+ calendar.get(Calendar.YEAR));
        System.out.println("月:"+ (calendar.get(Calendar.MONTH)+1));
        System.out.println("日:"+ calendar.get(Calendar.DATE));

        System.out.println("时:"+ calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:"+ calendar.get(Calendar.MINUTE));
        System.out.println("秒:"+ calendar.get(Calendar.SECOND));

        // 显示 当前系统时间: 2014年12月26日  xx时xx分xx秒   

         *  日期格式化类    SimpleDateFormat 
         *          作用1: 可以把日期转换转指定格式的字符串     format()
         *          作用2: 可以把一个 字符转换成对应的日期。    parse()   生日
         *      
         */
        Date date = new Date(); //获取当前的系统时间。
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日   HH:mm:ss") ; //使用了默认的格式创建了一个日期格式化对象。
        String time = dateFormat.format(date);  //可以把日期转换转指定格式的字符串
        System.out.println("当前的系统时间:"+ time);

        String birthday = "2000年12月26日   11:29:08";
        Date date2 = dateFormat.parse(birthday);  //注意: 指定的字符串格式必须要与SimpleDateFormat的模式要一致。
        System.out.println(date2);

        Date date21 =new Date();
        SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
        String time2 =dateFormat.format(date21);
        String time21=dateFormat.format(date);
        System.out.println("当前的系统时间:"+time);
        String birthday1= "2000年12月26日  11:28:08";
        Date date22=dateFormat.parse(birthday1);
        System.out.println(date22);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值