------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
System类:
package cn.fuxi._01system;
/**
* System :类中的方法都是静态的
* 常见方法:
* long currentTimeMillis();获取当前时间的毫秒值,可以通过此方法检测程序的执行时间.
*
* Properties getProperties();确定当前的系统属性.
* Properties集合中存储的都是String类型的键和值.
* 最好使用它自己存储和取出的方法来完成元素的操作.
*
*
*/
import java.util.*;
public class SystemDemo01 {
public static void main(String[] args) {
long l1 = System.currentTimeMillis();
System.out.println(l1);//1447857436917
for (int i = 0; i < 100000; i++) {
for (int j = 0; j < 10000; j++) {
for (int j2 = 0; j2 < 10000; j2++) {
}
}
}
long l2 = System.currentTimeMillis();
System.out.println(l2);//1447857437264
System.out.println(l2-l1);//347
System.out.println("-----------------------");
Properties prop = System.getProperties();
Set<String> nameSet = prop.stringPropertyNames();
for(String name:nameSet){//增强for循环
String value = prop.getProperty(name);
System.out.println(name + "="+value);
}
}
}
输出结果:
1448447171400
1448447171792
392
-----------------------
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\develop\Java\jdk1.7.0_67\jre\bin
java.vm.version=24.65-b04
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\develop\workspace\fuxi4
java.runtime.version=1.7.0_67-b01
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\develop\Java\jdk1.7.0_67\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator=
java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=D:\develop\Java\jdk1.7.0_67\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/develop/Java/jdk1.7.0_67/bin/../jre/bin/server;D:/develop/Java/jdk1.7.0_67/bin/../jre/bin;D:/develop/Java/jdk1.7.0_67/bin/../jre/lib/amd64;D:\develop\Java\jdk1.7.0_67\bin;D:\develop\Java\jdk1.7.0_67\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\develop\eclipse;;.
java.specification.name=Java Platform API Specification
java.class.version=51.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\Administrator
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.7
user.name=Administrator
java.class.path=D:\develop\workspace\fuxi4\bin
java.vm.specification.version=1.7
sun.arch.data.model=64
java.home=D:\develop\Java\jdk1.7.0_67\jre
sun.java.command=cn.fuxi._01system.SystemDemo01
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.7.0_67
java.ext.dirs=D:\develop\Java\jdk1.7.0_67\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path=D:\develop\Java\jdk1.7.0_67\jre\lib\resources.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\rt.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\sunrsasign.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jsse.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jce.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\charsets.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jfr.jar;D:\develop\Java\jdk1.7.0_67\jre\classes
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64
1448447171792
392
-----------------------
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\develop\Java\jdk1.7.0_67\jre\bin
java.vm.version=24.65-b04
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\develop\workspace\fuxi4
java.runtime.version=1.7.0_67-b01
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\develop\Java\jdk1.7.0_67\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator=
java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=D:\develop\Java\jdk1.7.0_67\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/develop/Java/jdk1.7.0_67/bin/../jre/bin/server;D:/develop/Java/jdk1.7.0_67/bin/../jre/bin;D:/develop/Java/jdk1.7.0_67/bin/../jre/lib/amd64;D:\develop\Java\jdk1.7.0_67\bin;D:\develop\Java\jdk1.7.0_67\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\develop\eclipse;;.
java.specification.name=Java Platform API Specification
java.class.version=51.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\Administrator
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.7
user.name=Administrator
java.class.path=D:\develop\workspace\fuxi4\bin
java.vm.specification.version=1.7
sun.arch.data.model=64
java.home=D:\develop\Java\jdk1.7.0_67\jre
sun.java.command=cn.fuxi._01system.SystemDemo01
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.7.0_67
java.ext.dirs=D:\develop\Java\jdk1.7.0_67\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path=D:\develop\Java\jdk1.7.0_67\jre\lib\resources.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\rt.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\sunrsasign.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jsse.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jce.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\charsets.jar;D:\develop\Java\jdk1.7.0_67\jre\lib\jfr.jar;D:\develop\Java\jdk1.7.0_67\jre\classes
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64
package cn.fuxi._01system;
/**
* Windows 系统中换行为\r\n两个转义字符,Linux只有一个\n.
*/
import java.util.*;
public class SystemDemo02 {
public static void main(String[] args) {
System.out.println("hello-\r\n word");
final String LINE_SEPARATOR = System.getProperty("line.separator");
System.out.println("hello"+LINE_SEPARATOR+"word");
}
}
/*
* P.S.
* 给属性设置一些属性信息,这些信息是全局的,其他程序都可以使用.
* 例:System.setPeroPerty("myclasspath","c:\myclass");.
*/
输出结果:
hello-
word
hello
word
word
hello
word
package cn.fuxi._02runtime;
import java.io.IOException;
/**
* Runtime类
* 每个Java应用程序都有一个Runtime类实例,使用应用程序能够与其运行的环境相连接.应用程序
* 不能创建自己的Runtime类实例.
*
* P.S.
* Runtime:没有构造方法摘要,说明该类不可以创建对象.又发现还有非静态的方法,
* 说明该类应该提供静态的放回该类对象的方法.而且只有一个,说明Runtime类使用了单列设计模式.
*/
public class RuntimeDemo {
public static void main(String[] args) throws Exception {
Runtime r = Runtime.getRuntime();
Process p = r.exec("notepad.exe E:\\传智播客JAVA基础班\\练习");
Thread.sleep(5000);
p.destroy();
}
}
package cn.fuxi._03math;
import java.util.Random;
/**
* Math:提供了操作数学运算的方法,都是静态的.
*
* 常用方法:
* ceil():返回大于参数的最小整数.
* floor():返回小于参数的最大整数.
* round():返回四舍五入的整数.
* pow(a,b):返回a的b次方.
*/
public class MathDemo01 {
public static void main(String[] args) {
double d1 = Math.ceil(12.56);
double d2 = Math.floor(12.56);
double d3 = Math.round(12.56);
System.out.println(d1);//13.0
System.out.println(d2);//12.0
System.out.println(d3);//13.0
double d4 = Math.pow(10, 2);
System.out.println(d4);//100.0
System.out.println("------------------");
Random r = new Random();//创建一个随机数生成器
System.out.println(r);
for (int i = 0; i < 5; i++) {
double d5 = Math.ceil(Math.random()*10);
System.out.println(d5);
}
System.out.println("------------------");
for (int i = 0; i < 5; i++) {
double d6 =(int)(r.nextDouble()*6+1);
System.out.println(d6);
}
}
}
输出结果:
13.0
12.0
13.0
100.0
------------------
java.util.Random@2278e185
4.0
3.0
10.0
6.0
9.0
------------------
3.0
4.0
3.0
6.0
2.0
12.0
13.0
100.0
------------------
java.util.Random@2278e185
4.0
3.0
10.0
6.0
9.0
------------------
3.0
4.0
3.0
6.0
2.0
package cn.fuxi._04date;
/**
* Date,DateFormat类
*
* 日期对象和毫秒值之间的转换
* 毫秒值--->日期对象:
* 1.通过Date对象的构造方法new Date(timeMillis);
* 2.还可以通过setTime设置.
* 因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作.
*
* 日期对象--->毫秒值:
* 1.getTime方法.
* 因为可以通过具体的数值进行运算.
*
* 对日期对象经行格式化:
* 将日期对象--->日期格式的字符串.
* 使用的是DateFormat类中的format方法.
*
* 将日期格式的字符串--->日期对象.
* 使用的是DateFormat类中的prase方法.
*/
import java.util.*;
import java.text.*;
public class DateDemo01 {
public static void main(String[] args) {
method1();
System.out.println("----------------------------");
method2();
System.out.println("----------------------------");
method3();
}
public static void method1() {
long time = System.currentTimeMillis();
System.out.println(time);//1447911145088
//将当期日期和时间封装成Date对象
Date date1 = new Date();
System.out.println(date1);//Thu Nov 19 13:32:25 CST 2015
//将指定毫秒值封装成Date对象
Date date2 = new Date(14052443142342l);//Wed Apr 22 08:25:42 CST 2415
System.out.println(date2);
}
public static void method2() {
Date date = new Date();
System.out.println(date);//Thu Nov 19 13:55:03 CST 2015
//setTime(long l)获取指定毫秒值的日期
date.setTime(0l);
System.out.println(date);//Thu Jan 01 08:00:00 CST 1970
//获取日期格式对象,具备着默认的风格.也可以指定为FULL(显示日期),LONG风格(显示具体时间).
DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
System.out.println(df);//java.text.SimpleDateFormat@be3eaf08
String sdf = df.format(date);
System.out.println(sdf);//1970年1月1日 星期四
df = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.LONG);
String sdf2 = df.format(date);
System.out.println(sdf2);//1970年1月1日 星期四 上午08时00分00秒
}
public static void method3() {
Date date = new Date(0l);
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);
String sdf1 = df.format(date);
System.out.println(sdf1);//1970年1月1日
String sdf2 = DateFormat.getDateInstance(DateFormat.LONG).format(new Date());
System.out.println(sdf2);//2015年11月19日
String sdf3 = "2015--11-11";
try {
System.out.println(DateFormat.getDateInstance(DateFormat.LONG).parse(sdf1));
//Thu Jan 01 00:00:00 CST 1970
System.out.println(DateFormat.getDateInstance(DateFormat.LONG).parse(sdf2));
//Thu Nov 19 00:00:00 CST 2015
System.out.println(new SimpleDateFormat("yyyy--MM-dd").parse(sdf3));
//Wed Nov 11 00:00:00 CST 2015
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出结果:
13.0
12.0
13.0
100.0
------------------
java.util.Random@2e1df471
7.0
3.0
9.0
4.0
1.0
------------------
2.0
1.0
2.0
5.0
1.0
12.0
13.0
100.0
------------------
java.util.Random@2e1df471
7.0
3.0
9.0
4.0
1.0
------------------
2.0
1.0
2.0
5.0
1.0
package cn.fuxi._04date;
/**
* 练习:
* "2012-3-17"到"2012-4-6"中间有多少天?
*
* 思路: 1.两个日期转换为Date对象
* 2.获取两个日期Date对象的毫秒值
* 3.毫秒值相减然后除以每一天的毫秒数得出结果
*/
import java.util.*;
import java.text.*;
public class DateTest01 {
public static void main(String[] args) throws Exception{
String s1 = "2012-3-17";
String s2 = "2012-4-6";
Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse(s1);
Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse(s2);
System.out.println(Math.abs(d1.getTime()-d2.getTime())/1000/60/60/24);
//一行流~写着玩~
System.out.println(Math.abs((new SimpleDateFormat("yyyy-MM-dd").parse("2012-3-17").getTime())-(new SimpleDateFormat("yyyy-MM-dd").parse("2012-4-6").getTime()))/1000/60/60/24);
}
}
输出结果:
20
20
20
package cn.fuxi._05calendar;
/**
* Calendar类:
* 这是一个抽象类,它为特定瞬间与一组诸如YEAR,MONTH,DAY_OF_MONTH,HOUR
* 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得星期的日)提供
* 了一些方法.
*/
import java.util.*;
public class CalendarDemo {
public static void main(String[] args) {
//method_1();
method_2();
}
public static void method_1(){
Calendar c = Calendar.getInstance();
show(c);
}
public static void method_2(){
Calendar c = Calendar.getInstance();
//设置年月日,注意,月份+1,0月相当于我们的1月
c.set(2014,3,20);
//年份减2,替换原来的年份
c.add(Calendar.YEAR, -2);
show(c);
}
public static void show(Calendar c) {
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week));
}
public static String getWeek(int week ){
String[] weeks = {"","星期一","星期二","星期三","星期四","星期五","星期六","星期天"};
return weeks[week];
}
}
输出结果:
2012年4月20日星期六
package cn.fuxi._05calendar;
/**
* 练习:
* 打印每年的二月份有多少天.
* 思路: 1.找到每年的3月1日
* 2.天数减一,得到的数值就是二月份最后一天的日子,得出天数
*/
import java.util.*;
public class CalendarTest {
public static void main(String[] args) {
int year = 2015;
Calendar c = Calendar.getInstance();
c.set(year, 2,1);//注意:系统接收的月份的数值是实际月份-1;所以是2
c.add(Calendar.DAY_OF_YEAR, -1);//几种方式都可以,只要是Day,-1即可.
//c.add(Calendar.DAY_OF_MONTH, -1);
//c.add(Calendar.DAY_OF_WEEK, -1);
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);//28
}
}
输出结果:
28