黑马程序员------毕老师视频笔记第18-21天------其他对象(System、Runtime、Data、Calendar、Math)
2014-06-07 19:45
423 查看
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
System
public final class System
extends Object
没有公开的构造函数
属性和方法都是静态的
字段:
static PrintStream err
static InputStream in
static PrintStream out
方法:
public static void setIn(InputStream in)
public static void setOut(PrintStream out)
public static void setErr(PrintStream err)
public static Console console()
public static Channel inheritedChannel()throwsIOException
public static voidsetSecurityManager(SecurityManager s)
public static SecurityManagergetSecurityManager()
public static longcurrentTimeMillis()
public static voidarraycopy(Object src, int srcPos, Object dest, int destPos, int length)
public static int identityHashCode(Objectx)
public static PropertiesgetProperties()
public static void setProperties(Propertiesprops)
public static String getProperty(Stringkey)
public static String getProperty(Stringkey, String def)
public static String setProperty(String key,String value)
public static String clearProperty(Stringkey)
public static String getenv(String name)
public static Map<String,String>getenv()
public static voidexit(int status)
public static void gc()
public static voidrunFinalizersOnExit(boolean value)
public static void load(String filename)
public static void loadLibrary(Stringlibname)
public static String mapLibraryName(Stringlibname)
示例:确定当前系统属性
后面还有很多信息,就不截图了
Runtime
public class Runtime
extends Object
没有公开的构造函数,按理说方法应该是静态的,可是Runtime中有非静态的方法,怎么用呢?说明一定有办法获得Runtime对象的办法------getRuntime,单例设计模式
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
方法:
void addShutdownHook(Thread hook)
intavailableProcessors()
Process exec(String command)
Process exec(String[] cmdarray)
Process exec(String[] cmdarray, String[] envp)
Process exec(String[] cmdarray, String[] envp,File dir)
Process exec(String command, String[] envp)
Process exec(String command, String[] envp,File dir)
void exit(int status)
longfreeMemory()
void gc()
InputStreamgetLocalizedInputStream(InputStream in)
OutputStream getLocalizedOutputStream(OutputStreamout)
static Runtime getRuntime()
voidhalt(int status)
voidload(String filename)
voidloadLibrary(String libname)
longmaxMemory()
boolean removeShutdownHook(Thread hook)
voidrunFinalization()
static void runFinalizersOnExit(booleanvalue)
longtotalMemory()
voidtraceInstructions(boolean on)
voidtraceMethodCalls(boolean on)
示例:
我们发现我们可以用Java程序开启系统上的软件
同样,我们可以杀死一些进程(有些是杀不死的,权限问题)
Date
public class Date
extends Object
implements Serializable, Cloneable,Comparable<Date>
相关联的类:DateFormat, Calendar, TimeZone, 序列化表格
构造函数
Date()
Date(long date)
示例;
Calendar
public abstract class Calendar
extends Object
implements Serializable, Cloneable,Comparable<Calendar>
字段与方法有很多,参见API中uti包中的Calendar类
Date有很多方法都已经过时,使用Calendar更方便与精细
示例:
另外还有很多很好用的方法
add,set等等
练习:
1.获取任意年的二月有多少天
思路:根据指定年设置一个时间,
set(year,2,1)//某一年的3月1日
add(Calendar.DAY_OF_MONTH,-1)//3月1日往前推一天就是2月最后一天
2.获取昨天的现在这个时刻
add(Calendar.DAY_OF_MONTH,-1);
Math—Random
public final class Math
extends Object
又是一个工具类
字段:
static double E比任何其他值都更接近 e(即自然对数的底数)的double 值。
static double PI 比任何其他值都更接近 pi(即圆的周长与直径之比)的double 值。
方法:
很多数学工具,注意掌握
ceil
floor
round
pow
特别注意掌握random
Java中还提供了一个生成随机数的类Random
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
System
public final class System
extends Object
没有公开的构造函数
属性和方法都是静态的
字段:
static PrintStream err
static InputStream in
static PrintStream out
方法:
public static void setIn(InputStream in)
public static void setOut(PrintStream out)
public static void setErr(PrintStream err)
public static Console console()
public static Channel inheritedChannel()throwsIOException
public static voidsetSecurityManager(SecurityManager s)
public static SecurityManagergetSecurityManager()
public static longcurrentTimeMillis()
public static voidarraycopy(Object src, int srcPos, Object dest, int destPos, int length)
public static int identityHashCode(Objectx)
public static PropertiesgetProperties()
public static void setProperties(Propertiesprops)
public static String getProperty(Stringkey)
public static String getProperty(Stringkey, String def)
public static String setProperty(String key,String value)
public static String clearProperty(Stringkey)
public static String getenv(String name)
public static Map<String,String>getenv()
public static voidexit(int status)
public static void gc()
public static voidrunFinalizersOnExit(boolean value)
public static void load(String filename)
public static void loadLibrary(Stringlibname)
public static String mapLibraryName(Stringlibname)
示例:确定当前系统属性
import java.util.*; class SystemDemo { public static void main (String [] args) { Properties prop = System.getProperties(); for (Object obj : prop.keySet()) { String value = (String)prop.get(obj); System.out.println(obj+"----"+value); } } }
后面还有很多信息,就不截图了
Runtime
public class Runtime
extends Object
没有公开的构造函数,按理说方法应该是静态的,可是Runtime中有非静态的方法,怎么用呢?说明一定有办法获得Runtime对象的办法------getRuntime,单例设计模式
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
方法:
void addShutdownHook(Thread hook)
intavailableProcessors()
Process exec(String command)
Process exec(String[] cmdarray)
Process exec(String[] cmdarray, String[] envp)
Process exec(String[] cmdarray, String[] envp,File dir)
Process exec(String command, String[] envp)
Process exec(String command, String[] envp,File dir)
void exit(int status)
longfreeMemory()
void gc()
InputStreamgetLocalizedInputStream(InputStream in)
OutputStream getLocalizedOutputStream(OutputStreamout)
static Runtime getRuntime()
voidhalt(int status)
voidload(String filename)
voidloadLibrary(String libname)
longmaxMemory()
boolean removeShutdownHook(Thread hook)
voidrunFinalization()
static void runFinalizersOnExit(booleanvalue)
longtotalMemory()
voidtraceInstructions(boolean on)
voidtraceMethodCalls(boolean on)
示例:
import java.util.*; class RuntimeDemo { public static void main (String [] args)throws Exception { Runtime r = Runtime.getRuntime(); r.exec("c:\\windows\\system32\\calc.exe"); } }
我们发现我们可以用Java程序开启系统上的软件
同样,我们可以杀死一些进程(有些是杀不死的,权限问题)
Date
public class Date
extends Object
implements Serializable, Cloneable,Comparable<Date>
相关联的类:DateFormat, Calendar, TimeZone, 序列化表格
构造函数
Date()
Date(long date)
示例;
import java.util.*; import java.text.*; class DateDemo { public static void main (String [] args)throws Exception { Date d = new Date(); System.out.println(d); //将模式封装到SimpleDateFormat对象中 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); //调用ormat方法啊让模式格式化指定Date对象 String time = sdf.format(d); System.out.println(time); } }
Calendar
public abstract class Calendar
extends Object
implements Serializable, Cloneable,Comparable<Calendar>
字段与方法有很多,参见API中uti包中的Calendar类
Date有很多方法都已经过时,使用Calendar更方便与精细
示例:
import java.util.*; import java.text.*; class CalendarDemo { public static void main (String [] args)throws Exception { Calendar c = Calendar.getInstance(); System.out.println(c); System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日"); System.out.println("星期"+c.get(Calendar.DAY_OF_WEEK)); String[] mons = {"一月","二月","三月","四月", "五月","六月","七月","八月","九月","十月","十一月","十二月"}; int index = c.get(Calendar.MONTH); System.out.println(mons[index]); String[] weeks = {"星期日","星期一","星期二","星期三","星期四", "星期五","星期六"}; index = c.get(Calendar.DAY_OF_WEEK)-1; System.out.println(weeks[index]); } }
另外还有很多很好用的方法
add,set等等
练习:
1.获取任意年的二月有多少天
思路:根据指定年设置一个时间,
set(year,2,1)//某一年的3月1日
add(Calendar.DAY_OF_MONTH,-1)//3月1日往前推一天就是2月最后一天
2.获取昨天的现在这个时刻
add(Calendar.DAY_OF_MONTH,-1);
Math—Random
public final class Math
extends Object
又是一个工具类
字段:
static double E比任何其他值都更接近 e(即自然对数的底数)的double 值。
static double PI 比任何其他值都更接近 pi(即圆的周长与直径之比)的double 值。
方法:
很多数学工具,注意掌握
ceil
floor
round
pow
特别注意掌握random
Java中还提供了一个生成随机数的类Random
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员_基础_System、Runtime、Date、Calendar和Math-Random等常用对象的学习笔记
- 黑马程序员学习笔记 JAVA高级视频_其他对象java.lang包中的类System与Runtime
- 黑马程序员——Java语言基础:其他对象(System、Runtime、Date、Calendar、Math)
- 黑马程序员-day18其他对象System,Runtime,Date,Calendar,Math-Random
- 黑马程序员——Java基础——其他对象(System、Runtime、Date、Calendar、Math)
- 黑马程序员_Java其他对象(System,Runtime,Date,Calendar,Marh-Random)
- java--其他对象(System,Runtime,Date,Calendar,Math)
- 黑马程序员_学习笔记:12) 其他API:java.lang.Runtime、java.util.Math、java.util.Date、java.util. Calendar
- 黑马程序员------其他类(System、Runtime、Date、Calendar、Math-Random)
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 黑马程序员:其他类的介绍:System、Properties、Runtime、Calendar、Math等
- 黑马程序员--Java基础--集合、泛型、其他对象(System、Runtime、Math、Date)
- 黑马程序员———其他对象(System,DateFormat,Calender,Runtime,Math)
- 黑马程序员————小牛皮糖学习笔记————其他对象Sytem-Runtime-Date-Math
- 11.其他对象【System】【Runtime】【Math】【Date】【Calendar】
- 黑马程序员--Java笔记11--静态类(Collections、Arrays、System、Runtime、Date、Calendar、Math)
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 其他对象—System、Runtime、Date、Calendar、Math
- 黑马程序员 Java基础之System,Runtime,Date,Calendar,Math.Random对象
- 黑马程序员------毕老师视频笔记第十天------面向对象(面向对象练习题下)