JAVA学习第四十五课 — 其它对象API(一)System、Runtime、Math类
一、System类
1.
static long currentTimeMillis() 返回以毫秒为单位的当前时间。
实际上:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位測量)。
long time = 1414069291407l;//long型 后面加l
System.out.println(time);
2.
static void exit(int status)终止当前正在执行的 Java 虚拟机。
static void gc()执行垃圾回收器
3.重点
staticProperties getProperties 确定当前的系统属性。
import java.util.Properties;
import java.util.Set; public class Main
{
//获取当前操作系统的换行符
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static void main(String[] args) {
//获取系统属性信息。并存储到Properties集合中
//properties集合存储的都是String类型的键值对。包java.util.Hashtable<Object,Object>
//最好使用自己的存储和取出方法来完毕元素操作
/* Set<String> stringPropertyNames()
返回此属性列表中的键集。当中该键及其相应值是字符串。假设在主属性列表中未找到同名的键。则还包含默认属性列表中不同的键。 */ Properties pro = System.getProperties();
Set<String> set = pro.stringPropertyNames();
for (String string : set) {
String value = pro.getProperty(string);//取键得值
System.out.println(string+"-:-"+value);
}
//给系统设置属性信息
System.setProperty("myname", "xxxxxx");//这些信息是全局,不论什么程序都能够调用
}
}
二、Runtime类
在查看API文档的时,非常清晰的看到。Runtime没有构造函数(说明无法创建对象),而方法摘要中却有非静态的方法,当中有一个静态的getRuntime()方法。说明Runtime类是利用了单例设计模式设计的。
import java.io.IOException; public class Main
{ public static void main(String[] args) throws IOException, InterruptedException {
Runtime r = Runtime.getRuntime();//返回一个进程
//execute : 运行 xxxx.exe,调用本地一个程序,注意抛异常
//r.exec("notepad.exe");//这样写会先在当前路径下找,找不到然后会去pass路径下找
//指定路径
//r.exec("c:\\xxx\\LoL.exe");注意转移字符
r.exec("notepad.exe C:\\HelloWorld.java");//用XX程序解析XXX文件,注意文件要匹配
Process p = r.exec("notepad.exe");
Thread.sleep(1000);//显示一秒,杀掉,注意抛异常
p.destroy();// 杀掉子进程
}
}
三、Math类
public final class Math
注意不能被继承
Math类涵盖众多数学函数。全然能够挑战所学。Math方法都是静态的
PI 圆的周长与直径之比 E即自然对数的底数 这两个不需定义直接
import java.io.IOException;
import java.util.Random; public class Main
{
public static void main(String[] args){ double d1 = Math.ceil(11.51);//返回大于參数的最小整数
double d2 = Math.floor(11.51);//返回小于參数的最大整数
double d3 = Math.round(11.51);//返回四舍五入
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(Math.max(4, 5));
System.out.println((int)Math.pow(2, 3));//返回a的b次方 for (int i = 0; i < 10; i++) {
System.out.println((int)(Math.random()*10));//0-9随机数
//System.out.println(Math.floor(Math.random()*10));
}
Random ran = new Random();//Random对象
//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 for(int i = 0;i<10;i++){
//System.out.println((int)(ran.nextDouble()*6+1));//简写形式例如以下
int d = ran.nextInt(6)+1;//nextInt是Random中的方法
System.out.println(d);
}
}
}
JAVA学习第四十五课 — 其它对象API(一)System、Runtime、Math类的更多相关文章
- JAVA学习第四十六课 — 其它对象API(二)Date类 & Calendar类(重点掌握)
Date类(重点) 开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用 <span style="font-family:KaiTi_GB2312;font-size:18p ...
- JAVA学习第四十八课 — IO流(二):文件的复制 & 缓冲区1
一.复制文本文件 将G盘的文本文件拷贝到D盘上 也就是 读取G盘中文本文件的数据.写入D盘中->连读带写 而剪切呢.就是连读带写后,删除原盘的文件 <span style="fo ...
- JAVA学习第六十五课 — 正則表達式
正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告 ...
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...
- 【Java学习笔记之十五】Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- Java从零开始学四十五(Socket编程基础)
一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...
- Java学习笔记(十五)——javadoc学习笔记和可能的注意细节
[前面的话] 这次开发项目使用jenkins做持续集成,PMD检查代码,Junit做单元测试,还会自动发邮件通知编译情况,会将javadoc生成的文档自动发到一个专门的服务器上面,每个人都可以看,所以 ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
随机推荐
- luogu 1865 数论 线性素数筛法
洛谷 1865 数论 线性素数筛法 最基本的线性素数筛法,当做复习欧拉筛法了,没有尝试过使用更暴力的筛法... WA了一次,手抖没打\n 传送门 (https://www.luogu.org/prob ...
- 重启rsyslog服务时出现问题(误删/var/log/messages解决方案)
今天修改了/etc/rsyslog.conf中的内容后,想着要通过systemctl restart rsyslog重启服务,但是执行完命令后,总感觉/etc/rsyslog.conf中修改的内容没有 ...
- Hadoop 2.2.0和HBase-0.98 安装snappy
1.安装须要的依赖包及软件 须要安装的依赖包有: gcc.c++. autoconf.automake.libtool 须要安装的配套软件有: Java6.Maven 关于上面的依赖包,假设在ubun ...
- PHP静态延迟绑定简单演示样例
没怎么用过这个新特性.事实上也不算新啦,试试吧,如今静态类的继承非常方便了 <?php class A { protected static $def = '123456'; public st ...
- 用pigz来加速解压tar.gz
兼容tar.gz 多线程的解压工具, 用于解压大文件时使用. https://zlib.net/pigz/ 方法: 1. 安装pigz 2. 使用tar时,选择pigz tar --use-compr ...
- Html表单提交到Servlet输出到页面乱码
Html使用的编码是UTF-8编码显示页面,之后使用form表单提交字段到Servlet中,Servlet将利用getParamer方法获得form提交的字段,之后通过Respone中的writer将 ...
- POJ 3660 Cow Contest【传递闭包】
解题思路:给出n头牛,和这n头牛之间的m场比赛结果,问最后能知道多少头牛的排名. 首先考虑排名怎么想,如果知道一头牛打败了a头牛,以及b头牛打赢了这头牛,那么当且仅当a+b+1=n时可以知道排名,即为 ...
- SpringCloud学习笔记(16)----Spring Cloud Netflix之Hystrix Dashboard+Turbine集群监控
前言: 上一节中,我们使用Hystrix Dashboard,只能看到单个应用内的服务信息.在生产环境中,我们经常是集群状态,所以我们需要用到Turbine这一应用. 作用:汇总系统内的多个服务的数据 ...
- plsql 查询历史执行语句
control+e. 如果执行删除.修改.增加的操作,未提交的历史记录中也有.
- Docker中免去sudo的设置方法
Add the docker group if it doesn't already exist: sudo groupadd docker Add the connected user " ...