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面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
随机推荐
- 【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] B】Battleship
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 暴力枚举船的左上角. 然后统计每个点被覆盖次数就好. [代码] #include <bits/stdc++.h> #de ...
- JAVA深克隆与浅克隆1
复制就是得到一个副本 克隆就是复制一个对象的复本.但一个对象中可能有基本数据类型,如:int,long,float 等,也同时含有非基本数据类型如(数组,集合等)被克隆得到的对象基本类型的值修改 ...
- 彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的
彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的 1.线程池,thread = threadPool.getThread(),thread.executeHtt ...
- POJ 2906 数学期望
开始时直接设了一个状态,dp[i][j]为发现i种bug,j个系统有bug的期望天数.但很错误,没能转移下去.... 看了题解,设状态dp[i][j]为已发现i种bug,j个系统有bug,到完成目标状 ...
- 在fragment中显示对话框出现异常
异常类型为:android.view.WindowManager$BadTokenException: Unable to add window 我在fragment中public View onCr ...
- HDU5411CRB and Puzzle(矩阵高速幂)
题目链接:传送门 题意: 一个图有n个顶点.已知邻接矩阵.问点能够反复用长度小于m的路径有多少. 分析: 首先我们知道了邻接矩阵A.那么A^k代表的就是长度为k的路径有多少个. 那么结果就是A^0+A ...
- JAVA设计模式之【命令模式】
命令模式 为了降低耦合度,将请求的发送者和接收者解耦 发送请求的对象只需要哦知道如何发送请求,而不必知道如何完成请求 对请求排队 记录请求日志 支持撤销操作 核心在于引入命令类 角色 抽象命令类Com ...
- 解读HDFS(转载)
是蛮久木有写过关于hadoop的博客了额,虽然最近也看了一些关于linux的基础知识,但似乎把这个东西忘记了,其实时不时回顾一下以前的知识还是蛮有意思的,且行且忆! 我们Hadoop 主要由HDFS和 ...
- 使用wpa_supplicant连接WIFI
让树莓派可以开机就连接制定的wifi, 可以通过wpa_supplicant来实现. 在 /etc/wpa_supplicant 下写一个配置文件: wpa_supplicant.conf 内容如下: ...
- IOS系统设置页面跳转
目录: 跳转 iOS10- 版本跳转url转 iOS10+ 版本跳转url转 跳转符 跳转到系统设置界面代码: // 自己应用的设置界面:url = UIApplicationOpenSettings ...