Math类

本文详细介绍了Java中的Math类,包括其常量和各种数学运算方法,如取绝对值、平方根等。同时,讨论了Random类的使用,展示如何生成随机数,并给出了猜数字游戏的实现。此外,还提到了System类的系统级操作,如调用垃圾回收和获取当前时间。最后,讲解了BigDecimal类在精确浮点数运算中的作用,以及Date和SimpleDateFormat类在日期处理中的应用,通过示例展示了计算年龄的方法。

Math类

  1. 概述:

    ​ Math类包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数

  2. 成员变量:

    ​ public static final double E 自然底数

    ​ public static final double PI 圆周率

  3. 成员方法

    ​ public static int abs (int a ) 取绝对值

    ​ public static double ceil (double a) 向上取整

    ​ public static double floor(double a) 向下取整

    ​ public static int max(int a,int b) 获取最大值

    ​ public static int min(int a, int b) 获取最小值

    ​ public static double pow(double a,double b) 获取a的b次幂

    ​ public static double random() 获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

    ​ public static int round(float a) 四舍五入

    ​ public static double sqrt(double a)获取正平方根

Random类

  1. 概述:

    ​ 此类用于产生随机数,如果用相同的种子创建两个Random实例,则对每个实例进行相同 的方法调用序列,它们将生成并返回相同的数字序列

  2. 构造方法

    ​ public Random() 没有给定种子,使用的是默认的(当前系统的毫秒值)

    ​ public Random(long seed) 给定一个long类型的种子,给定以后每一次生成的随机 数是相同的

  3. 成员方法

    ​ public int nextInt() 没有参数 表示的随机数范围 是int类型的范围

    ​ public int nextInt(int n) 可以指定一个随机数范围

    ​ void nextBytes(byte[] bytes) 生成随机字节并将其置于用户提供的空的 byte 数组中。

  4. 猜数字游戏。键盘输入一个1–100的数字,如果与产生的随机数相等,即为猜中,共五次机会

    public class GuessNUm {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个数字 1--100");
            Random random = new Random();
            int num= random.nextInt(100 + 1);
            for (int i = 1; i <= 5; i++) {
                int userNum = sc.nextInt();
                if (userNum==num){
                    System.out.println("你猜对了");
                }else if (userNum>=num) {
                    System.out.println("你猜大了");
                }else {
                    System.out.println("你猜小了");
                }
                if (5-i==0){
                    System.out.println("很遗憾,你还有0次机会");
                }else{
                    System.out.println("你还有"+(5-i)+"次机会");
                }
            }
        }
    }
    

System类

  1. 概述:

    ​ System类包含一些有用的类字段和方法。它不能被实例化

  2. 成员方法

    ​ public Static void gc() 调用垃圾回收器

    ​ public static void exit(int status) 退出Java虚拟机。 0 为正常退出 ,非0为 异常退出

    ​ public static long currentTimeMillis() 获取当前时间的毫秒值

BigDecimal类

  1. 概述:

    ​ 由于在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算

    浮点数,Java提供了BigDecimal

  2. 构造方法
    public BigDecimal(String val)

  3. 成员方法

    ​ public BigDecimal add(BigDecimal augend) 加

    ​ public BigDecimal subtract(BigDecimal subtrahend) 减

    ​ public BigDecimal multiply(BigDecimal multiplicand) 乘

    ​ public BigDecimal divide(BigDecimal divisor) 除法

    ​ public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode) scale 小数 点后面保留几位

Date类

  1. 概述:

    ​ 类Date表示特定的瞬间,精确到毫秒

  2. 构造方法

    ​ public Date()

    ​ public Date(long date) 把一个long类型的毫秒值转换成一个日期对象

  3. 成员方法

    public long getTime() 获取一个日期对象的毫秒值

    ​ public void setTime(long time)给一个日期对象设置上指定的毫秒值

  4. Date----long的转换

    调用getTime()方法

    long----Date的转换

    可以使用构造方法

    setTime(long time)

SimpleDateFormat类

  1. 概述:

    ​ SimpleDateFormat类可以把一个日期对象格式化成一个文本(字符串),也可以把一个日期字符串解析成一个日期对象

  2. 构造方法

    ​ public SimpleDateFormat() 使用默认的模式来创建一个SimpleDateFormat对象

    ​ public SimpleDateFormat(String pattern) 使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象

  3. 规则的定义

    ​ y 年

    ​ M 月

    ​ d 天

    ​ H 时

    ​ m 分

    ​ s 秒

  4. 成员方法

    ​ public String format(Date date) 把一个日期对象格式化成一个字符串

    ​ public Date parse(String dateStr) 把一个日期字符串解析成一个日期对象,注意要以 指定格式解析

  5. 案例:需求:算一下你来到这个世界多少天?

    ​ 分析:

    ​ a: 键盘录入一个生日(日期字符串)

    ​ b: 把这个日期字符串对象解析成一个日期对象

    ​ c: 获取b中的日期对象对应的毫秒值

    ​ d: 获取当前系统时间对应的毫秒值

    ​ e: 使用d中的毫秒值 - c中的毫秒值

    ​ f: 把e中的差值换算成对应的天 差值/1000/60/60/24

    ​ g: 输出

public class DateYOU {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的生日  格式:2020-12-12");
        String birthday =sc.nextLine();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = simpleDateFormat.parse(birthday);
        long l = date.getTime();
        long l1 = System.currentTimeMillis();
        int day = (int) ((l1 - l) / 1000 / 60 / 60 / 24);
        System.out.println(day);
    }
}

**高校专业实习管理平台设计与实现** 本设计项目旨在构建个服于高等院校专业实习环节的综合性管理平台。该系统采用当前主流的Web开发架构,基于Python编程语言,结合Django后端框架与Vue.js前端框架进行开发,实现了前后端逻辑的分离。数据存储层选用广泛应用的MySQL关系型数据库,确保了系统的稳定性和数据处理的效率。 平台设计了多角色协同工作的管理模型,具体包括系统管理员、院系负责人、指导教师、实习单位对接人以及参与实习的学生。各角色依据权限访问不同的功能模块,共同构成完整的实习管理流程。核心功能模块涵盖:基础信息管理(如院系、专业、人员信息)、实习过程管理(包括实习公告发布、实习内容规划、实习申请与安排)、双向反馈机制(单位评价与学生反馈)、实习支持与保障、以及贯穿始终的成绩评定与综合成绩管理。 在技术实现层面,后端服依托Django框架的高效与安全性构建业逻辑;前端界面则利用Vue.js的组件化特性与LayUI的样式库,致力于提供清晰、友好的用户交互体验。数据库设计充分考虑了实习管理业的实体关系与数据致性要,并保留了未来功能扩展的灵活性。 整个系统遵循规范的软件开发流程,从需分析、系统设计、编码实现到测试验证,均进行了多轮迭代与优化,力功能完备性、系统性能及用户使用体验方面达到较高标准。 **核心术语**:实习管理平台;Django框架;MySQL数据库;Vue.js前端;Python语言。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值