前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java学习历程之----基础篇(十)

Java学习历程之----基础篇(十)

作者头像
用户5410712
发布2022-06-01 17:55:41
发布2022-06-01 17:55:41
23300
代码可运行
举报
文章被收录于专栏:居士说AI居士说AI
运行总次数:0
代码可运行

人生无须太多的准备,上帝给了我们腿与脚,就是让我们不停地前行。

前言

在解决实际问题时,对数字和日期的处理是非常普遍的,如数学问题、随机数问题和日期问题等。为了解决这些问题,Java 提供了处理相关问题的类,包括 Math 类、Random 类、BigInteger 类、Date 类等。

一、Math类常用方法

1

在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等。Math 类位于 java.lang 包,使用时要先导入此包,Math 类中包含 E 和 PI 两个静态常量,其中 E 用于记录 e 的常量,而 PI 用于记录圆周率的值。具体应用我们看下面的实战代码吧。

二、Java生成随机数

2

在 java 中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。Random 类位于 java.util 包中,使用时要先导入此包,Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float, byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。

三、Java时间日期处理

3

在Java中获取当前时间,可以使用 java.util.Date 类和 java.util.Calendar 类完成。其中,Date 类主要封装了系统的日期和时间的信息,Calendar 类则会根据系统的日历来解释 Date 对象。Date 类表示系统特定的时间戳,可以精确到毫秒。Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。创建 Calendar 对象不能使用 new 关键字,因为 Calendar 类是一个抽象类,但是它提供了一个 getInstance() 方法来获得 Calendar类的对象。getInstance() 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

四、实战

4

运行结果及源码

4.1

4.2

4.3

4.1

代码语言:javascript
代码运行次数:0
运行
复制
package data;
import java.lang.*;
public class Math1 {
    public static void main(String[] args){
        System.out.println("E 常量的值:"+Math.E);//输出自然数e的值
        System.out.println("PI 常量的值:"+Math.PI);//输出pi的值
        System.out.println("5 和 68 的较大值:"+Math.max(10, 20));//输出较大值
        System.out.println("23.9 和 24 的较小值:"+Math.min(15.6,15));//输出较小值
        System.out.println("-12 的绝对值:"+Math.abs(-8));//输出绝对值
        System.out.println("16 的平方根:"+Math.sqrt(25));//输出平方根
        System.out.println("10 为底 2 的对数:"+Math.log10(3));//输出10为底3的对数
        }
    }

4.2

代码语言:javascript
代码运行次数:0
运行
复制
package data;
import java.util.Random;
public class Random2 {
    public static void main(String[] args){
    Random r=new Random();
        double a=r.nextDouble();    //默认生成[0,1.0]区间的小数
        int b=r.nextInt(10);    //生成[0,10]区间的整数
        int c=r.nextInt(18)-3;    //生成[-3,15]区间的整数
        long d=r.nextLong();    //生成一个随机长整型值
        System.out.println("生成的[0,1.0]区间的小数是:"+a);
        System.out.println("生成的[0,10]区间的整数是:"+b);
        System.out.println("生成的[-3,15]区间的整数是:"+c);
        System.out.println("生成的随机长整型数是:"+d);
    }
}

4.3

代码语言:javascript
代码运行次数:0
运行
复制
package first.data;
import java.util.Date;
import java.util.Scanner;
public class Data3 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入要做的事情:");
            String title = input.next();
            Date date1 = new Date(); // 获取当前日期
            System.out.println("[" + title + "] 这件事发生时间为:" + date1);
            try {
                Thread.sleep(60000);// 暂停 1 分钟
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Date date2 = new Date();
            System.out.println("现在时间为:" + date2);
            if (date2.before(date1)) {
                System.out.println("你还有 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒需要去完成【" + title + "】这件事!");
            } else {
                System.out.println("【" + title + "】事情已经过去了 " + (date2.getTime() - date1.getTime()) / 1000 + " 秒");
            }
        }
    }

小编有话说

上次习题代码附下,大家有顺利完成吗?本周时间日期处理相对较简单,所以大家自行练习,或许大家现在还没有感受到自己在编程方面有巨大的进步,我们的进度也稍显缓慢,小编也是能力有限,那我们就但行好事,莫问前程,结果总会是好的,如果现在还不是,那只能说明现在还不是结果。Fighting!

编辑:玥怡居士|审核:世外居士

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档