【18上】System,Runtime,Date,Calendar,Math-Random类的应用
来源:互联网 发布:技嘉的显卡怎么样 知乎 编辑:程序博客网 时间:2024/05/20 22:02
1.讲解其他类主要是为了锻炼查找API的能力
1.1 System:类
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
描述系统一些信息。
获取系统属性信息:Properties getProperties();
Properties是一个双列集合,一般put 和putAll增加,而是用setProperty方法设置键和值
练习一:System类中Properties子类的应用
import java.util.*;class SystemDemo{ publicstatic void main(String[] args) { Propertiesprop = System.getProperties(); //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。 //那么可以通过map的方法取出该集合中的元素。 //该集合中存储都是字符串。没有泛型定义。 //如何在系统中自定义一些特有信息呢? System.setProperty("mykey","myvalue"); //获取指定属性信息。 Stringvalue = System.getProperty("os.name"); System.out.println("value="+value); //可不可以在jvm启动时,动态加载一些属性信息呢? //javv–D(key)=(value) 类名 Stringv = System.getProperty("haha"); System.out.println("v="+v); /* //获取所有属性信息。 for(Objectobj : prop.keySet()) { Stringvalue = (String)prop.get(obj); System.out.println(obj+"::"+value); } */ }}
1.2 Runtime对象
该类并没有提供构造函数。
说明不可以new对象。那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法。
说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。
static Runtime
getRuntime()
返回与当前 Java 应用程序相关的运行时对象。
该方式是static Runtime getRuntime();
练习二:Runtime类的应用
class RuntimeDemo{ publicstatic void main(String[] args) throws Exception { //返回与当前 Java 应用程序相关的运行时对象Runtime r = Runtime.getRuntime(); //运行exe程序,并打开相关联文件 Processp = r.exec("notepad.exe SystemDemo.java"); Thread.sleep(4000);//线程等待4秒 p.destroy();//杀掉process创建的进程,而不能杀掉系统创建的进程,可以用c或c++写的程序调用api杀掉系统进程 }}
1.3 Date类 (时间)
SimpleDateformat(Date子类)
字母
日期或时间元素
表示
示例
G
Era 标志符
Text
AD
y
年
Year
1996; 96
M
年中的月份
Month
July; Jul; 07
w
年中的周数
Number
27
W
月份中的周数
Number
2
D
年中的天数
Number
189
d
月份中的天数
Number
10
F
月份中的星期
Number
2
E
星期中的天数
Text
Tuesday; Tue
a
Am/pm 标记
Text
PM
H
一天中的小时数(0-23)
Number
0
k
一天中的小时数(1-24)
Number
24
K
am/pm 中的小时数(0-11)
Number
0
h
am/pm 中的小时数(1-12)
Number
12
m
小时中的分钟数
Number
30
s
分钟中的秒数
Number
55
S
毫秒数
Number
978
z
时区
General time zone
Pacific Standard Time; PST; GMT-08:00
Z
时区
RFC 822 time zone
-0800
示例
以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间2001-07-04 12:08:56。
日期和时间模式
结果
"yyyy.MM.dd G 'at' HH:mm:ss z"
2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"
Wed, Jul 4, '01
"h:mm a"
12:08 PM
"hh 'o''clock' a, zzzz"
12 o'clock PM, Pacific Daylight Time
"K:mm a, z"
0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"
02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"
Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"
010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
2001-07-04T12:08:56.235-0700
同步
日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。
import java.util.*;import java.text.*;class DateDemo{ publicstatic void main(String[] args) { Dated = new Date(); System.out.println(d);//打印的时间看不懂,希望有些格式。 //将模式封装到SimpleDateformat对象中。 SimpleDateFormatsdf = new SimpleDateFormat("yyyy年MM月dd日Ehh:mm:ss"); //调用format方法让模式格式化指定Date对象。 Stringtime = sdf.format(d); System.out.println("time="+time); longl = System.currentTimeMillis(); Dated1 = new Date(l); System.out.println("d1:"+d1); }}
1.4 Math类和Random类的应用
import java.util.*;class MathDemo{ publicstatic void main(String[] args) { /* Randomr = new Random(); for(intx=0; x<10; x++) { //intd = (int)(Math.random()*10+1); /*nextInt(intn) 返回一个伪随机数,它是取自此随机数生成器序列的、 在 0(包括)和指定值(不包括)之间均匀分布的 int 值。*/ intd = r.nextInt(10)+1; sop(d); } */ saveTwo(12.3456,3,true);//12.34 } publicstatic void saveTwo(double d,int scale,boolean isRound) { doublebase = Math.pow(10,scale); doublenum = isRound?Math.round(d*base)/base:((int)(d*base))/base; sop("num="+num); } publicstatic void show() { doubled = Math.ceil(16.34);//ceil返回大于指定数据的最小整数。 doubled1 = Math.floor(12.34);//floor返回小于指定数据的最大整数。 longl = Math.round(12.54);//四舍五入 sop("d="+d); sop("d1="+d1); sop("l="+l); //pow(doublea, double b) 返回第一个参数的第二个参数次幂的值。 doubled2 = Math.pow(2,3); sop("d2="+d2); } publicstatic void sop(Object obj) { System.out.println(obj); }}
- 【18上】System,Runtime,Date,Calendar,Math-Random类的应用
- System,Runtime,Date,Calendar,Math-Random类
- Java中System,Runtime,Date,Calendar,Math-Random类的应用
- 其他常用类简介(System、Runtime、Date、Calendar、Math、Random)
- 几个特殊类Math&Runtime&System&Random&Date&Calendar&DateFormat
- Java基础 System,Runtime,Date,Calendar,Math-Random,Io流
- System Runtime Date Calendar Math 类
- 常用类:System,Runtime,Math,Date,Calendar
- 7 System、Runtime、Date、Math、Random类
- 黑马程序员---System,Math,Runtime,Date类/Calendar的使用
- System、Runtime、Date、Calendar、Math
- System、Runtime、Math、Date、Calendar
- Java基础之常用类--System、Runtime、Date、Calendar、Math、Random
- 黑马程序员------其他类(System、Runtime、Date、Calendar、Math-Random)
- Java集合框架-5.【System类】【Runtime】【Date】【Calendar】【Math & Random】
- day11 常用类 System Runtime Math Random Date DateFormat SimpleDateFormat Calendar
- 黑马程序员——System类,Properties类,Random类,Math类,Runtime类,Date类,Calendar类
- (81)System类、Runtime类、Date类、Calendar类、Math类、Api中继承关系解释、Random
- 海量数据处理专题(三)——Hash
- ACM输入输出规范&数根
- 递推的几个经典例子
- js日期格式化
- 产品开发的组织架构和开发管理
- 【18上】System,Runtime,Date,Calendar,Math-Random类的应用
- 制作ubuntu/xubuntu U盘引导
- 集成产品开发过程及其概念模型
- 学习资源(update ... ing)
- 存储快照技术及各种存储快照技术的比较
- hive 不同用户 权限设置 出错处理
- Android 正则表达式验证手机和邮箱格式是否正确
- matlab:图像多分辨率金字塔
- 【18下】IO流1_FileWriter,IO异常处理,文本读取和拷贝