------- android培训、java培训、期待与您交流! ----------
常见类
- System类:
- 简介:System类提供了一些有用的变量和方法,该类不能被实例化。System类提供的工具主要有标准输入流(in)、标准输出流(out)、标准错误流(err)3个静态变量,同时定义了访问外部属性的方法,装入文件和库的方法以及数组复制的方法等。
- System类的成员变量:
- public static final InputStream in:标准输入流,默认是键盘
- public static final PrintStream out:标准输出流,默认是屏幕
- public static final PrintStream err:标准错误输出流
- 在我们前面程序中使用的System.out.println();语句就是使用System类中的out输出数据,err与out类似。in可从标准输入设备接收用户输入的数据。
- System类的常用方法介绍:
- static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length):用于复制数组
- static long currentTimeMillis() :返回以毫秒表示的当前系统时间
- static void exit(int status) :终止当前运行的JVM
- static void gc() :运行垃圾回收器
- static void setIn(InputStream in) :重新定向标准输入流
- static void setOut(OutPutStream out) :重新定向标准输出流
- static void setErr(OutPutStream err :重新定向标准错误输出流
- static void load(String filename) :装入filename指定的代码文件
- static void loadLibrary(String libname) :装入libname指定的系统库
- System系统属性的读写
- 简介:System类维护了一组键-值对属性,他们定义了当前工作环境的属性。当JAVA运行时系统启动,就初始化了包含运行时环境信息的系统属性,其中包括当前用户、版本……
- 运行时系统启动后可以得到的常用系统属性
- ”file separator“ 文件分割符(如”\“)9.”os.arch“操作系统体系结构
- "java.class.path" JAVA类路径10.”os.name“操作系统名
- "java.class.version" JAVA类版本号11.”os.version“操作系统版本
- "java.home" JAVA安装目录12.”path.separator“路径分隔符
- "java.vendor" 针对JAVA厂商的字符串13.”user.dir“用户当前工作目录
- "java.vendor.url" JAVA厂商的URL14.”user.home“用户根目录
- "java.version" JAVA版本号15.”user.name“用户帐号名
- ”line.separator“ 行分隔符号
- JAVA程序可以通过System类的方法读写系统属性。可以使用键(key)在属性列表中查找一个属性,或者得到整个属性集合,也可以改变属性。读取和修改系统属性的常用方法如下:
- public static String getProperty(String key) :返回指定名称系统的属性值字符串。若属性不存在,则返回null.
- public static String getProperty(String key,String def):返回指定名称的系统属性字符串。def指定默认值。若属性不存在或者名称非法,返回默认值。
- public static Properties getProperty() :返回java.util.Properties类的对象,它是一个个系统属性键-值对的集合。Property是hashtable的一个子类,可以使用Map的方法取出该集合的元素。在IO部分重点讲。
- public static void setProperty(String key,String value):用指定的值(value)修改(key)指定的属性(即重新设置key对应的value)
- public static void setProperty(Properties prop):用指定的Properties对象prop修改所有的属性。
- 在jvm启动的时候,动态加载一些属性信息:格式 java -D属性key=属性alue 运行文件名
- 示例:
import java.util.*;//导入工具包,因为要使用Properties集合 class MySystemDemo { public static void main(String[] args) { //获取特定属性的值 System.out.println(System.getProperty("line.separator")); //获取系统属性集合。Properties是一个属性类 Properties p = System.getProperties(); //在系统中设置特有信息 System.setProperty("HSY","ZHM"); //通过keySet方式获取该集合中的内容。 Set se = p.keySet(); for (Iterator it=se.iterator();it.hasNext(); ) { Object key = it.next(); Object value = p.get(key); System.out.println(key+"…………"+value); } } }
- Runtime类:
- 简介:每个JAVA应用程序都伴随着一个运行时对象,用于与程序当前的运行环境进行交互和指令传递。JAVA应用程序的运行环境由JAVA虚拟机、JAVA字节码解释器和计算机操作系统构成,因此运行时对象的主要功能就是与这些对象进行交互。使应用程序能够与其运行的环境相连接。可以通过
getRuntime
方法获取当前运行时。 - Runtime类的使用:Runtime类没有向外提供构造方法,因此此类的对象不是创建的,是通过调用该类的某个方法获取的。此方法是 public static Runtime getRuntime().
- Runtime类的常用方法:
- process exec(String command) throws IOException在单独进程中执行指定的字符和字符串命令。如果带着程序的执行路径应该一\\代替原路径的\。此方法在可能会抛出四种异常,除了I/O引起的异常外其他的都是RuntimeException异常的子类。具体见API文档。
- public long totalMemory()返回一字节为单位的系统可访问内存空间的总数。
- public long freeMemory()返回以字节为单位的可用内存空间,此返回值只是可用内存的估算值,并不是一个标准的值。
- public void gc()运行垃圾回收器。
- public void runFinaliZation()请求jvm运行任何对象的finalize()方法。
- public void exit(int status)终止运行当前的运行的jvm。参数status作为状态码,非0的状态码表示程序非正常终止。
- Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。该进程的是通过系统创建的。
- 示例:
class MyRuntimeDemo { public static void main(String[] args) throws Exception { //获取一个运行时类对象 Runtime r = Runtime.getRuntime(); //获取系统可以访问内存空间的总数(以MB为单位) System.out.println(r.totalMemory()/1024/1024); //获取可用内存空间 System.out.println(r.freeMemory()/1024/1024); //返回jvm可用的内存最大字节数 System.out.println(r.maxMemory()/1024/1024); //获取可用处理器的数目 System.out.println(r.availableProcessors()); //让其打开“记事本”程序,并用记事本打开MyRuntimeDemo这个文本文件。 //在5秒之后关闭此程序 Process p = r.exec("notepad.exe MyRuntimeDemo.java"); Thread.sleep(5000); p.destroy(); } }
- 简介:每个JAVA应用程序都伴随着一个运行时对象,用于与程序当前的运行环境进行交互和指令传递。JAVA应用程序的运行环境由JAVA虚拟机、JAVA字节码解释器和计算机操作系统构成,因此运行时对象的主要功能就是与这些对象进行交互。使应用程序能够与其运行的环境相连接。可以通过
- Date类:
- Date类简介:在JAVA程序中,时间是long型数据表示的,精确到毫秒。在获得当前时间时可以用System.currentTimeMillis()方法可以返回当前的时间。也可以用java.util.Date类来获取当前时间。Date类中的方法大多已过时,被calendar中的方法替代。
- Date类方法
- 构造方法:
- public Date()创建一个Date对象,它表示从格林尼治时间到现在的毫秒数。
- public Date(long date)使用参数date创建一个Date对象。
- 类中定义的方法:
- public boolean after(Date when)测试当前日期是否在指定日期之后。
- public boolean before(Date when) 测试当前日期是否在指定日期之前。
- public long getTime()返回该Date对象表示的GMT时间从1970年1月1日0点0分0秒到当前时间的毫秒数。
- public void setTime(long time)设置Date对象表示的时间。
- 通过以上两种构造方法获取的日期,因为不具有简明的格式,所以不容易看懂。为了使我们看的明白,就应该让其显示为我们指定的格式。此时就应用的DateFormat类和SimpleDateFormat类。
- 构造方法:
- DateFormat类:
- 简介:要输出适合习惯的时间格式,可以使用DateFormat类对Date对象格式化。DateFormat类可以将日期和时间格式化成多种形式,因为DateFormat类是一个抽象类,所以我们不能直接新建DateFormat类的对象。获取DateFormat类对象有两种方式。
- 获取DateFormat类对象的方式
- (拓展)使用DateFormat类的静态方法static DateFormat getDateInstance()极其重载函数获取DateFormat对象。
- int style可以取Date.SHORT、DateFormat.MEDIUM、DateFormat.LONG、DateFormat.FULL、DateFormat.DEFAULT。
- 建立其实现子类SimpleDateFormat的对象。通过SimpleDateFormat(String pattern)构造方法建立对象。
- (拓展)使用DateFormat类的静态方法static DateFormat getDateInstance()极其重载函数获取DateFormat对象。
- Calendar类
- 简介:Calendar和DateFormat一样是一个抽象类,Calendar类对象表示日历中某个特定时刻。可以通过Calendar类的静态方法getInstance()的某种重载形式获得某个区域的日历对象。
- Calendar类获取时间方法:
- public static Calendar getInstance():返回默认时区和默认区域的日历对象。
- publc static Calendar getInstance(TimeZone zone)返回指定时区和默认区域的日历对象。
- public static Calendar getInstance(Locale aLocale)返回默认时区和指定区域的日历对象。
- public static Calendar getInstance(TimeZone zone,Locale aLocale)返回指定时区和指定区域的日历对象。
- 设定时间:
- void set(int year, int month, int date)方法把指定的日期给Calendar对象。
- void set(int year, int month, int date)方法把指定的日期给Calendar对象。
- 时间的计算:
- void add(int field, int amount)方法。
- Math类:
- Math类中的常用方法:
- public static double ceil(double e):返回大于参数的最小整数的值。
- public static double floor(double e):返回小于参数的最小整数的值。
- public static double pow(double a, double b):返回a 的b次幂的值。
- public static double random():返回0到1的随机数。
- 在util包中也定义了Random类:
- 建立此类的对象后通过nextxxx(方法以及其重载方法获取随机值。,
- Math类中的常用方法: