一、随机数

java.lang.Math.Random;

  调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例子如下:

 1 package IO;
 2 import java.util.Random;
 3
 4 public class TestRandom {
 5
 6     public static void main(String[] args) {
 7         // 案例1
 8         System.out.println("Math.random()=" + Math.random());// 结果是个double类型的值,区间为[0.0,1.0)
 9         int num = (int) (Math.random() * 3); // 注意不要写成(int)Math.random()*3,这个结果为0,因为先执行了强制转换
10         System.out.println("num=" + num);
11         /**
12          * 输出结果为:
13          *
14          * Math.random()=0.02909671613289655
15          * num=0
16          *
17          */
18   }
19 }

二、定时器

(一)获取时间

获取当前系统时间和日期并格式化输出:

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

public class NowString {
public static void main(String[] args) {
// 方法一
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
// 方法二
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
}
}

 (二)Timer和TimerTask

JDK中,定时器任务的执行需要两个基本的类:

java.util.Timer;java.util.TimerTask;

运行一个定时任务基本步骤如下:

1、建立一个要执行的任务TimerTask;

2、创建一个Timer实例,通过Timer提供的schedule()方法,将TimerTask加入到定时器Timer中,同时设置执行的规则即可;

(1)Timer中的schedule()有多种重载方法,以适应不同的情况:

  • a.  schedule(TimerTask task, Date time):安排在指定时间执行指定任务;
  • b.  schedule(TimerTask task, Date firsttime, Long period):安排指定的任务在指定时间指定周期重复执行;
  • c.  schedule(TimerTask task, Long delay):安排在指定延迟后执行指定任务;
  • d.  schedule(TimerTask task, Long delay, Long period):安排指定的任务从指定的延迟后开始重复的固定延迟执行;

(2)时间的表示方法:delay或者period的单位是毫秒,所以可以用(60*60*1000表示一小时)、(单位是毫秒3*60*1000为三分钟)

代码实现a:

 1 import java.text.SimpleDateFormat;
 2 import java.util.Calendar;
 3 import java.util.Timer;
 4 import java.util.TimerTask;
 5
 6 public class MyTimerTask extends TimerTask {
 7     private Integer cout = 0;
 8     @Override
 9     public void run() {
10         Calendar calendar = Calendar.getInstance();  //getInstance()返回Canlenda的一个通用对象11         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
12         System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
13         System.out.println("NO.1");
14     }
15     public static void main(String[] args) {
16         MyTimerTask task = new MyTimerTask();
17         Calendar calendar = Calendar.getInstance();
18         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
19         System.out.println(format.format(calendar.getTime()));
20         calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
21         Timer timer = new Timer();
22         timer.schedule(task,calendar.getTime());
23
24     }
25 }

       

代码实现d:

 1 import java.util.Timer;
 2 import java.util.TimerTask;
 3
 4 public class Test {
 5     class TestTimerTask extends TimerTask {
 6         private int i = 1;
 7
 8         @Override
 9         public void run() {
10             System.out.println("定时器第" + i + "次执行!");
11             i += 1;
12         }
13     }
14
15     public static void main(String[] args) {
16         Test test = new Test();
17         Timer timer = new Timer();
18         timer.schedule(test.new TestTimerTask(), 3000, 2000);  //延迟3秒,每隔两秒执行一次run()方法
19     }
20 }

转载于:https://www.cnblogs.com/StarZhai/p/9961512.html

Java随机数与定时器相关推荐

  1. java定时产生随机数_浅析Java随机数与定时器

    产生90-100的重复的随机数: public class RandomTest { public static void main(String[] args){ /* * Math.random( ...

  2. java当中的定时器怎么做_java当中的定时器的4种使用方式

    对于开发游戏项目,计时器相信当然不陌生,今天爱站技术频道小编总结了java当中的定时器的4种使用方式,大家可以模仿小编的方法进行操作,希望对你学习有帮助! import java.util.Calen ...

  3. java随机数转换_Java获取随机数的3种方法(转)

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

  4. java quartz timer_Java定时器Quartz和Timer

    Java定时器之Quartz 简介 官方说明 Quartz is a richly featured, open source job scheduling library that can be i ...

  5. java 随机数 【指定范围】

    在Java中我们可以使用java.util.Random类来产生一个随机数发生器.它有两种形式的构造函数,分别是Random()和Random(long seed).Random()使用当前时间即Sy ...

  6. (转)Java随机数

    1 随机数的三种产生方式 本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMil ...

  7. Java开发中定时器的使用

    在JAVA中实现定时器功能要用的2个类是Timer,TimerTask Timer类是用来履行任务的类,它接受1个TimerTask做参数 Timer有两种履行任务的模式,最经常使用的是schedul ...

  8. java随机数_Java随机

    java随机数 Java Random class is used to generate a series of random numbers. Java Random类用于生成一系列随机数. Ja ...

  9. 硬核 - Java 随机数相关 API 的演进与思考(上)

    本系列将 Java 17 之前的随机数 API 以及 Java 17 之后的统一 API 都做了比较详细的说明,并且将随机数的特性以及实现思路也做了一些简单的分析,帮助大家明白为何会有这么多的随机数算 ...

最新文章

  1. R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)
  2. File 类型的文本框,选择文件时响应很慢解决方法
  3. Initial load DNL_CUST_PROD0 并找出SAP S4表和CRM表的mapping关系
  4. YbtOJ-染色计划【树链剖分,线段树,tarjan】
  5. MS SQLService中的*= 及 =*
  6. 69讲入门python_Python入门,一定要吃透这69个内置函数
  7. 自主可控的安全关键领域国产工业软件SkyEye
  8. 14 SD配置-企业结构-分配-分配销售组织-分销渠道-工厂
  9. linux mysql搭建禅道详细教程_linux安装禅道的步骤
  10. Oracle学习总结(4)——MySql、SqlServer、Oracle数据库行转列大全
  11. java 动手动脑
  12. 使用flask快速搭建API
  13. I2C总线的上拉电阻计算
  14. PythonStock(25)股票系统:PythonStock V1 发布了,基于Python开发,使用Tushare抓取数据,存储到Mariadb数据库中,同时还开发了通用数据报表系统,通过配置
  15. pcie 对rc操作的ops
  16. PLSql连接oracle64位
  17. Mac连接Xbox控制器(手柄)
  18. 西班牙监管机构允许特定基金直接投资加密货币
  19. 先卸载 nvidia-387.26驱动,再安装nvidia-384.81 驱动
  20. javascript 获取具体id

热门文章

  1. 离开HK后的第一篇所感--重生
  2. 语言中能产生汉明窗吗_0—6岁幼儿的语言、秩序、情感、数学敏感期,有这些特点和表现...
  3. python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法
  4. 充电桩前端对接的一点总结
  5. 素数五个为一行的_对标交流 ▏潍坊市心理咨询师协会名誉理事长、潍坊医学院王力教授一行到昌邑市妇幼保健院指导交流工作...
  6. 【算法】剑指 Offer 04. 二维数组中的查找 【重刷】
  7. 【kafka】Group coordinator xx is unavailable or invalid, will attempt rediscovery
  8. 【Elasticsearch】Elasticsearch 分布式一致性原理分析:元数据
  9. 【ElasticSearch】Es 源码之 RerouteService 源码解读
  10. 【Elasticsearch】zen discovery集群发现机制