几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)
一:System
1.介绍
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
2.properties
获取系统属性信息:Properties getProperties()
因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
那么可以通过map的方法取出该集合中的元素。
该集合中存储都是字符串。没有泛型定义。
3.程序--获取所有属性信息
import java.util.Properties;
public class Test75 {
public static void main(String[] args) {
Properties pro=System.getProperties();
for(Object key:pro.keySet()){
String value=(String)pro.get(key);
System.out.println(key+":"+value);
}
}
}
4.运行程序结果
5.制定属性以及根据属性得到值
import java.util.Properties;
public class Test76 {
public static void main(String[] args) {
Properties pro=System.getProperties();
System.setProperty("hehe", "hhahaha");
String str1=System.getProperty("hehe");
System.out.println("str1="+str1);
String str2=pro.getProperty("kkk");
System.out.println("str2="+str2);
String str3=pro.getProperty("os.name");
System.out.println("str3="+str3);
}
}
6.运行结果
二:Runtime
1.介绍
应用程序与运行环境的交互。
Runtime对象
该类并没有提供构造函数。
说明不可以new对象。那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法。
说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。
该方式是static Runtime getRuntime()
2.打开进程,然后关闭进程
//注意转义字符
import java.io.IOException;
public class Test77 {
public static void main(String[] args) throws Exception {
Runtime rt=Runtime.getRuntime();
Process pro=rt.exec("notepad E:\\java62\\demo1\\src\\Test66.java"); //注意转义字符
Thread.sleep(5000);
pro.destroy();
}
}
3.运行结果
5秒之后,进程关闭
三:Math
1.pow,random,Random
import java.util.Random; public class Test78 {
public static void main(String[] args) {
show();
}
private static void show() {
//pow
Double sum=Math.pow(2, 3);
System.out.println("sum="+sum);
//random
int d = (int)(Math.random()*10+1); //1~10的随机数
System.out.println("d="+d);
//延伸,Random类中也可以生成随机数
Random r=new Random();
int rd=r.nextInt(10);
System.out.println("rd="+rd);
}
}
2.运行结果
四:Date
1.日期打印
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test79 {
public static void main(String[] args) {
Date d=new Date();
/**
* 直接全部打印出来
*/
System.out.println("d="+d);
/**
* 将模式封装到SimpleDateformat对象中
*/
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String time=sdf.format(d);
System.out.println("time="+time); }
}
2.运行结果
3.Calemdar具体日期
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class Test80 { public static void main(String[] args) {
//打印yyyy年
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy");
String year1=sdf.format(d);
System.out.println("yar1="+year1);
//使用Calendar,包括年,月,星期
Calendar cal=Calendar.getInstance();
int year2=cal.get(Calendar.YEAR);
System.out.println("year2="+year2+"年");
int month2=cal.get(Calendar.MONTH);
System.out.println("month2="+(month2+1)+"月");//注意加1
int week2=cal.get(Calendar.DAY_OF_WEEK);
System.out.println("week2=星期"+week2);
//优化,查表法,更人性化
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六",};
int index1 = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(cal.get(Calendar.YEAR)+"年");
System.out.println(mons[index1]);
System.out.println(cal.get(Calendar.DAY_OF_MONTH)+"日");
System.out.println(weeks[index1]);
}
}
4.运行结果
5.修改时间,并知道具体时间
import java.util.Calendar; public class Test81 { public static void main(String[] args) {
Calendar c = Calendar.getInstance();
/*
* 可以设置时间,年月日
*c.set(2012,2,23);
*/
c.add(Calendar.DAY_OF_MONTH,-1);
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六",};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
sop(weeks[index1]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
6.运行结果
几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)的更多相关文章
- 工具类System,Runtime,Math,Date,Calendar
API--- java.lang.System: 属性和行为都是静态的. long currentTimeMillis(); // 返回当前时间毫秒值 exit(); // 退出虚拟机 Prop ...
- System & Runtime &Math
package com.shushine.framework.第七章Java标准类库;/** * * <p> * 描述该类情况 {@link 代表跟谁有关系} * </p> * ...
- 关于JAVA System常见类的一些总结
一.JAVA System类概述 1.概述: System 类是一个抽象类,所有的字段和方法都是静态的,即不能被实例化.其中包含一些有用的类字段和方法,它不能被实例化.在 System 类提供的设施中 ...
- 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式
适用于app.config与web.config的ConfigUtil读写工具类 之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一 ...
- 疯狂java笔记(五) - 系统交互、System、Runtime、Date类
一.程序与用户交互(Java的入口方法-main方法): 运行Java程序时,都必须提供一个main方法入口:public static void main(String[] args){} publ ...
- System.Runtime.InteropServices.COMException 检索COM类工厂中CLSID{xxxxxxxxx}的组件时失败解决方法
iis7.5中设定应用程序池中<进程模型>中<标识>为localSystem 提示:System.Runtime.InteropServices.COMException: 命 ...
- C# 实现AOP 的几种常见方式
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的中统一处理业务逻辑的一种技术,比较常见的场景是:日志记录,错误捕获 ...
- 解析XML文件的几种常见操作方法—DOM/SAX/DOM4j
解析XML文件的几种常见操作方法—DOM/SAX/DOM4j 一直想学点什么东西,有些浮躁,努力使自己静下心来看点东西,哪怕是回顾一下知识.看到了xml解析,目前我还没用到过.但多了解一下,加深点记忆 ...
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
随机推荐
- easyui的tab加载页面中的form重复提交
http://blog.csdn.net/fxz1982/article/details/8987769 Easyui中的tabs组件以href方式加载目标页面,如果目标页面中有dialog或者win ...
- CAP定理为什么只能同时满足两个
Consistency(一致性), 数据一致更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容忍性) 可靠性 在网上看了很 ...
- vmware:Could not open /dev/vmmon: No such file or directory.
Q: Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vm ...
- Ansible Role
Ansible Role 专题总揽 https://www.jianshu.com/p/1be92c3f65ec lework 关注 2017.03.02 12:57* 字数 629 阅读 1439评 ...
- 小朋友学Linux<一>基础篇
Linux最基础之<小朋友也能学会Linux>... 1.Linux 知识积累: Linux 英文解释为 Linux is not Unix.学习Linux必须要熟练使用的操作系统是Cen ...
- js实现表单提交submit(),onsubmit
通常表单的提交有两种方式,一是直接通过html的form提交,代码如下: <form action="" method="" id="forms ...
- AngulaJs -- 隔离作用域
具有隔离作用域的指令最主要的使用场景是创建可复用的组件 创建具有隔离作用域的指令需要将scope属性设置为一个空对象{}.如果这样做了,指令的 模板就无法访问外部作用域了: <div ng-co ...
- 无锁并发框架Disruptor学习入门
刚刚听说disruptor,大概理一下,只为方便自己理解,文末是一些自己认为比较好的博文,如果有需要的同学可以参考. 本文目标:快速了解Disruptor是什么,主要概念,怎么用 1.Disrupto ...
- B - C Looooops POJ - 2115 (扩展欧几里得)
题目链接:https://cn.vjudge.net/contest/276376#problem/B 题目大意:for( int i= A ; i != B; i+ = c ),然后给你A,B,C ...
- ssh-copy-id 复制公钥到远程server
ssh-copy-id -i ~/.ssh/mykey.pub user@host 复制完成后可以测试: ssh -i ~/.ssh/mykey user@host