您的位置:首页 > 其它

Math类---->System类---->Runtime类

2015-09-29 06:18 316 查看
/* 

 集合的一些技巧
   
   需要唯一吗?
   需要:Set
              需要指定顺序:
                             需要:TreeSet
                             不需要:HashSet
                             但是想要一个和存储一致的顺序(有序):LinkedHashSet
  不需要:List
               需要频繁增删吗?
                                    需要:LinkedList
                                    不需要:ArrayList
             
  如何记录每一容器的机构和所属体系呢?
  看名字!
  
 List
     |--ArrayList
     |--LinkedList
  
 Set
     |--HashSet
     |--TreeSet
     
 后缀名就是该集合所属的体系。
 前缀名就是该集合的数据结构。
 看到array:就要想到数组,就要想到查询块,有角标。
 看到link:就要想到链表,就要想到增删快,就要想到add get remove+frist last的方法。
 看到hash:就要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode方法和equals方法。
 看到tree:就要想到二叉树,就要想到排序,就要想到两个接口Comparable、Comparator。
 
 而且通常这些常用的集合容器都是不同步的。

*/

package com.huaWei;

import java.util.Random;

public class MathDome {
public static void main(String[] args) {
// mathDome_1();
// mathDome_2();
mathDome_3();
}

public static void mathDome_3() {
Random random = new Random();
for (int i = 0; i < 10; i++) {
double d1 = (int) (random.nextDouble() * 10 + 1);
int d2 = random.nextInt(10) + 1;
System.out.println(d1 + "<----------->" + d2);
}
}

public static void mathDome_2() {
for (int i = 0; i < 10; i++) {
double d1 = Math.ceil(Math.random() * 10);
int d2 = (int) (Math.random() * 10 + 1);
System.out.println(d1 + "<------------->" + d2);
}
}

public static void mathDome_1() {
/**
* Math:提供了操作数学运算的方法。都是静态的。 
* 常用的方法: 
*      ceil():返回最小的(最接近负无穷大)double值,该值大于等于参数,并等于某个整数(返回大于参数的最小整数)。 
*      floor(): 返回最大的(最接近正无穷大)double值,该值小于等于参数,并等于某个整数(返回小于参数的最大整数)。 
*      round():返回最接近参数的 int(返回四舍五入的整数)。
* pow(a,b):a的b次方。
*/
double d1 = Math.ceil(12.56);
double d2 = Math.floor(12.56);
double d3 = Math.round(12.56);
int d4 = (int) Math.pow(3, 4);
sop("d1=" + d1);
sop("d2=" + d2);
sop("d3=" + d3);
sop("d4=" + d4);
}

public static void sop(String string) {
System.out.println(string);
}
}

package com.huaWei;

import java.util.Properties;

import java.util.Set;

public class SystemDome {
//获取各系统的换行符
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
                           
public static void main(String[] args) {
// systemDemo();
systemDemo_2();
systemDemo_1();
}

/**
* System:类中的方法和属性都是静态的。 
* 常见的方法: long currentTimeMillis();获取当前时间的毫秒值
*/
public static void systemDemo() {
long time1 = System.currentTimeMillis();
System.out.println(time1);// 1443472197657
System.out.println(time1 / 1000 / 60 / 60 / 24);// 16706

long time2 = System.currentTimeMillis();
System.out.println(time2 - 1443472197657l);
}

// 获取系统的属性信息,并存储到了Properties集合中。
// properties集合中存储都是String类型的键和值。
// 最好使用它自己的存储和取出的方法来完成元素的操作。
public static void systemDemo_1() {
Properties prop = System.getProperties();
Set<String> nameSet = prop.stringPropertyNames();
for (String name : nameSet) {
String value = prop.getProperty(name);
System.out.println(name + "----->" + value);
}
/**
            键                                                         值
java.runtime.name----->Java(TM) SE Runtime Environment
sun.boot.library.path----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\bin
java.vm.version----->11.3-b02
java.vm.vendor----->Sun Microsystems Inc.
java.vendor.url----->http://java.sun.com/
path.separator----->;
java.vm.name----->Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg----->sun.io
user.country----->CN
sun.java.launcher----->SUN_STANDARD
sun.os.patch.level----->
java.vm.specification.name----->Java Virtual Machine Specification
user.dir----->D:\MyEclipse\Workspaces\Thread
java.runtime.version----->1.6.0_13-b03
java.awt.graphicsenv----->sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\endorsed
os.arch----->amd64
java.io.tmpdir----->C:\Windows\Temp\
line.separator----->

java.vm.specification.vendor--
b03f
--->Sun Microsystems Inc.
user.variant----->
os.name----->Windows Vista
sun.jnu.encoding----->GBK
java.library.path----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Oracle\Oracle\Oracle\product\11.2.0\dbhome_1\bin;%jdk_home%\bin;%jre_home%\bin;%tomcat_home%\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
java.specification.name----->Java Platform API Specification
java.class.version----->50.0
sun.management.compiler----->HotSpot 64-Bit Server Compiler
os.version----->6.2
user.home----->C:\Users\华伟科技
user.timezone----->
java.awt.printerjob----->sun.awt.windows.WPrinterJob
file.encoding----->GBK
java.specification.version----->1.6
user.name----->华伟科技
java.class.path----->D:\MyEclipse\Workspaces\Thread\bin
java.vm.specification.version----->1.0
sun.arch.data.model----->64
java.home----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre
java.specification.vendor----->Sun Microsystems Inc.
user.language----->zh
awt.toolkit----->sun.awt.windows.WToolkit
java.vm.info----->mixed mode
java.version----->1.6.0_13
java.ext.dirs----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path----->d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\resources.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\rt.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\sunrsasign.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\jsse.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\jce.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\lib\charsets.jar;d:\MyEclipse\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\jre\classes
java.vendor----->Sun Microsystems Inc.
苹果手机中毒门背后----->迅雷牺牲安全换取速度
file.separator----->\
java.vendor.url.bug----->http://java.sun.com/cgi-bin/bugreport.cgi
sun.cpu.endian----->little
sun.io.unicode.encoding----->UnicodeLittle
sun.desktop----->windows
sun.cpu.isalist----->amd64
*/
}

public static void systemDemo_2(){
System.out.println("美国航天局:"+LINE_SEPARATOR+"火星表面发现了有液态水活动证据!");
//给系统设置一些属性信息,这些信息是全局的,其他程序都可以使用。
System.setProperty("苹果手机中毒门背后", "迅雷牺牲安全换取速度");
}

}

package com.huaWei;

import java.io.IOException;

public class RuntimeDome {
public static void main(String[] args) throws IOException, InterruptedException {
runtimeDome();
}
/**
* Runtime:没有构造方法摘要,说明该类不可以创建对象。
* 又发现还没有非静态的方法。说明该类应该提供静态的返回该类对象的方法。
* 而且只有一个,说明Runtime类使用了单例设计模式。
* @throws IOException 
* @throws InterruptedException 
*/
public static void runtimeDome() throws IOException, InterruptedException{
Runtime r = Runtime.getRuntime();
Process p = r.exec("D:\\EditPlus\\EditPlus 3\\editplus.exe D:\\EditPlus\\EditPlus 3\\entities_u.txt");
Thread.sleep(5000);
p.destroy();//关闭
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: