Java随机数与定时器
一、随机数
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随机数与定时器相关推荐
- java定时产生随机数_浅析Java随机数与定时器
产生90-100的重复的随机数: public class RandomTest { public static void main(String[] args){ /* * Math.random( ...
- java当中的定时器怎么做_java当中的定时器的4种使用方式
对于开发游戏项目,计时器相信当然不陌生,今天爱站技术频道小编总结了java当中的定时器的4种使用方式,大家可以模仿小编的方法进行操作,希望对你学习有帮助! import java.util.Calen ...
- java随机数转换_Java获取随机数的3种方法(转)
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...
- java quartz timer_Java定时器Quartz和Timer
Java定时器之Quartz 简介 官方说明 Quartz is a richly featured, open source job scheduling library that can be i ...
- java 随机数 【指定范围】
在Java中我们可以使用java.util.Random类来产生一个随机数发生器.它有两种形式的构造函数,分别是Random()和Random(long seed).Random()使用当前时间即Sy ...
- (转)Java随机数
1 随机数的三种产生方式 本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMil ...
- Java开发中定时器的使用
在JAVA中实现定时器功能要用的2个类是Timer,TimerTask Timer类是用来履行任务的类,它接受1个TimerTask做参数 Timer有两种履行任务的模式,最经常使用的是schedul ...
- java随机数_Java随机
java随机数 Java Random class is used to generate a series of random numbers. Java Random类用于生成一系列随机数. Ja ...
- 硬核 - Java 随机数相关 API 的演进与思考(上)
本系列将 Java 17 之前的随机数 API 以及 Java 17 之后的统一 API 都做了比较详细的说明,并且将随机数的特性以及实现思路也做了一些简单的分析,帮助大家明白为何会有这么多的随机数算 ...
最新文章
- R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)
- File 类型的文本框,选择文件时响应很慢解决方法
- Initial load DNL_CUST_PROD0 并找出SAP S4表和CRM表的mapping关系
- YbtOJ-染色计划【树链剖分,线段树,tarjan】
- MS SQLService中的*= 及 =*
- 69讲入门python_Python入门,一定要吃透这69个内置函数
- 自主可控的安全关键领域国产工业软件SkyEye
- 14 SD配置-企业结构-分配-分配销售组织-分销渠道-工厂
- linux mysql搭建禅道详细教程_linux安装禅道的步骤
- Oracle学习总结(4)——MySql、SqlServer、Oracle数据库行转列大全
- java 动手动脑
- 使用flask快速搭建API
- I2C总线的上拉电阻计算
- PythonStock(25)股票系统:PythonStock V1 发布了,基于Python开发,使用Tushare抓取数据,存储到Mariadb数据库中,同时还开发了通用数据报表系统,通过配置
- pcie 对rc操作的ops
- PLSql连接oracle64位
- Mac连接Xbox控制器(手柄)
- 西班牙监管机构允许特定基金直接投资加密货币
- 先卸载 nvidia-387.26驱动,再安装nvidia-384.81 驱动
- javascript 获取具体id
热门文章
- 离开HK后的第一篇所感--重生
- 语言中能产生汉明窗吗_0—6岁幼儿的语言、秩序、情感、数学敏感期,有这些特点和表现...
- python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法
- 充电桩前端对接的一点总结
- 素数五个为一行的_对标交流 ▏潍坊市心理咨询师协会名誉理事长、潍坊医学院王力教授一行到昌邑市妇幼保健院指导交流工作...
- 【算法】剑指 Offer 04. 二维数组中的查找 【重刷】
- 【kafka】Group coordinator xx is unavailable or invalid, will attempt rediscovery
- 【Elasticsearch】Elasticsearch 分布式一致性原理分析:元数据
- 【ElasticSearch】Es 源码之 RerouteService 源码解读
- 【Elasticsearch】zen discovery集群发现机制