黑马程序员__JAVA基础__其他对象
2013-06-07 21:45
423 查看
------------android培训、java培训、java学习型技术博客、期待与您交流! ------------
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
err:标准错误输出流。
操作方法:
void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
获取系统属性信息
long currentTimeMillis()
返回以毫秒为单位的当前时间
特点:没有构造方法,不能通过new对象,但类中有非静态的方法,并且提供了一个静态方法获取本类对象,说明该类使用单例设计模式,并且返回值是本类类型,该方法是:static Runtime getRuntime();
方法:
Process exec(String command) 在单独的进程中执行指定的字符串命令(调用外部程序可用到)
void gc() 运行垃圾回收器。
static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象
此类中大部分方法都从jdk1.1开始被Calendar类中的方法所代替,本类方法过时。
long getTime():日期到毫秒的转换
void setTime(long time):毫秒到日期的转换
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
我们在创建一个Date类的对象的时候,将对象打印出来之后是不利于我们辨认的时间,这个时候就需要用到DateFornat类中的方法来解析这个时间。
示例代码如下:
Calendar类是抽象类,但是提供方法用于获取子类对象
重要方法:
int get(int field) 根据给定的日历字段,获取对应的值
void set(int year,int month,int date) 设置对应的时间
void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
测试代码示例:
特点:沒有构造方法,都是静态的成员
成员:
PI:比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
E:比任何其他值都更接近 e(即自然对数的底数)的 double 值。
操作方法:
abs:绝对值
ceil:大于等于参数的最小整数
floor:小与等于参数的最大整数
round:四舍五入
pow:获取x的y次方的值
sqrt:平方根
random:产生一个大于等于0小于1的随机数
在java.util包中,有一个Random类,他是一个产生随机数的类
构造方法:
Random()默认以系统时间作为随机数生成器的种子
Random(long seed):以固定的seed参数作为随机数生成器的种子
它和Math类中的随机方法大同小异,其随机输出1到50之间的数值代码为:
1.System类
System 类包含一些有用的类字段和方法。它不能被实例化。所以类中的方法和属性都是静态的。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
err:标准错误输出流。
操作方法:
void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
public static void main(String[] args) { //直接终止虚拟机的运行 System.exit(0); }Properties getProperties()
获取系统属性信息
import java.util.*; class SystemDemo { public static void main(String[] args) { Properties prop = System.getProperties(); //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。 //那么可以通过map的方法取出该集合中的元素。 //该集合中存储都是字符串。没有泛型定义。 //在系统中自定义一些特有信息 System.setProperty("mykey","myvalue"); //获取指定属性信息。 String value = System.getProperty("os.name"); System.out.println("value="+value); /* //获取所有属性信息。 for(Object obj : prop.keySet()) { String value = (String)prop.get(obj); System.out.println(obj+"::"+value); } */ } }
long currentTimeMillis()
返回以毫秒为单位的当前时间
class SystemDemo { public static void main(String[] args) { long start = System.currentTimeMillis(); for(int i = 0;i<1000;i++) { System.out.print(""); } long end = System.currentTimeMillis(); System.out.println(end-start); } }
2.Runtime类
Runtime:程序的运行时类的对象。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime()方法获取当前运行时。特点:没有构造方法,不能通过new对象,但类中有非静态的方法,并且提供了一个静态方法获取本类对象,说明该类使用单例设计模式,并且返回值是本类类型,该方法是:static Runtime getRuntime();
方法:
Process exec(String command) 在单独的进程中执行指定的字符串命令(调用外部程序可用到)
void gc() 运行垃圾回收器。
static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象
class RuntimeDemo { public static void main(String[] args) throws IOException,InterruptedException { // 获取Runtime类的对象 Runtime r = Runtime.getRuntime(); Process p = r.exec("notepad"); Thread.sleep(3000);//等待3秒 p.destroy();//杀掉子进程 } }
3.Date类
Date类是日期类,用于日期数据的操作,参数为毫秒值.(位于java中的util包中)此类中大部分方法都从jdk1.1开始被Calendar类中的方法所代替,本类方法过时。
long getTime():日期到毫秒的转换
void setTime(long time):毫秒到日期的转换
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
我们在创建一个Date类的对象的时候,将对象打印出来之后是不利于我们辨认的时间,这个时候就需要用到DateFornat类中的方法来解析这个时间。
示例代码如下:
import java.text.SimpleDateFormat; import java.util.*; public class ArraysDemo { public static void main(String[] args) { Date d=new Date();//创建打印的对象 System.out.println(d);//打印结果:Sat Jun 08 00:20:18 CST 2013 //打印的时间看不懂.希望能有些格式 //想让打印的有年月日.这样看起来很好.方法是在Date类中另请参见中 SimpleDateFormat sdf=new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss"); //调用format方法让模式格式化指定的Date对象. String time =sdf.format(d); System.out.println(time);//打印结果:13年06月08日 12:20:18 } }
4.Calendar类
Calendar类是日历类,用于替代Date类的使用,它里面提供了很多功能来单独获取日历的某个数据。Calendar类是抽象类,但是提供方法用于获取子类对象
重要方法:
int get(int field) 根据给定的日历字段,获取对应的值
void set(int year,int month,int date) 设置对应的时间
void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
测试代码示例:
import java.util.*; import java.text.*; class CalendarDemo { public static void main(String[] args) { getDays(2014); } public static void method() { Calendar c = Calendar.getInstance(); String[] mons = {"一月","二月","三月","四月" ,"五月","六月","七月","八月" ,"九月","十月","十一月","十二月"}; String[] weeks = { "","星期日","星期一","星期二","星期三","星期四","星期五","星期六", }; int index = c.get(Calendar.MONTH); int index1 = c.get(Calendar.DAY_OF_WEEK); sop(c.get(Calendar.YEAR)+"年"); //sop((c.get(Calendar.MONTH)+1)+"月");打印月份另一种方式 sop(mons[index]);//打印月份 sop(c.get(Calendar.DAY_OF_MONTH)+"日"); //sop("星期"+c.get(Calendar.DAY_OF_WEEK)); sop(weeks[index1]); } //获取任意一年的2月份的天数 public static void getDays(int year) { Calendar c = Calendar.getInstance(); c.set(year, 2, 1); // 表示任意一年的3月1日 c.add(Calendar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。 System.out.println("days:" + c.get(Calendar.DATE)); } public static void sop(Object obj) { System.out.println(obj); } }
5.Math类
Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数,是数学操作常用的类。(注:java.lang.Math)特点:沒有构造方法,都是静态的成员
成员:
PI:比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
E:比任何其他值都更接近 e(即自然对数的底数)的 double 值。
操作方法:
abs:绝对值
ceil:大于等于参数的最小整数
floor:小与等于参数的最大整数
round:四舍五入
pow:获取x的y次方的值
sqrt:平方根
random:产生一个大于等于0小于1的随机数
在java.util包中,有一个Random类,他是一个产生随机数的类
构造方法:
Random()默认以系统时间作为随机数生成器的种子
Random(long seed):以固定的seed参数作为随机数生成器的种子
它和Math类中的随机方法大同小异,其随机输出1到50之间的数值代码为:
Random r=new Random(); r.nextInt(50)+1;Math类常见方法示例:
import java.util.*; class MathDemo { public static void main(String[] args) { show(); } public static void show() { double d = Math.ceil(16.34);//ceil返回大于指定数据的最小整数。 double d1 = Math.floor(12.34);//floor返回小于指定数据的最大整数。 long l = Math.round(12.54);//四舍五入 sop("d="+d);//打印结果:d=17.0 sop("d1="+d1);//打印结果:d1=12.0 sop("l="+l);//打印结果:l=13 double d2 = Math.pow(2,3); sop("d2="+d2);//打印结果:d2=8.0 } //给定一个小数,保留该小数的后两位。 public static void saveTwo(double d,int scale,boolean isRound) { double base = Math.pow(10,scale);//10的scale次方 double num = isRound?Math.round(d*base)/base:((int)(d*base))/base; sop("num="+num); } public static void sop(Object obj) { System.out.println(obj); } }
个人总结
JAVA中的一个工具类给我们在编写代码的过程中提供了不少的方便,各种方法较多不用强记,在实际使用中可以查找API文档。还有我们不仅要明白这个功能可以实现什么效果,还要明白这些方法是怎么去实现的这些效果。相关文章推荐
- 黑马程序员java基础之其他对象
- 黑马程序员--Java基础学习(其他对象和IO流)第十八天
- 黑马程序员--java基础复习集合框架工具类及其他对象
- 黑马程序员——Java基础---Collections,Arrays工具类以及其他对象
- 黑马程序员——Java基础——其他对象(Calendar)
- 黑马程序员——Java基础---io流(io中的其他对象)
- 黑马程序员Java基础__其他对象
- 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- 黑马程序员_Java基础_其他对象及IO流(一)_18
- 黑马程序员——Java基础——其他对象(System)
- 黑马程序员——Java基础——集合工具类Collecions、Arrays、其他对象System类、Runtime类、Date类、Calendar类、Math类等操作
- Java基础---其他对象 (黑马程序员)
- 黑马程序员——Java基础——其他对象(Math-Random)
- 黑马程序员——Java基础---其他对象
- 黑马程序员---java基础之IO(File类及其他流对象)
- 黑马程序员_java基础教程_其他对象
- 黑马程序员——java基础——IO流(2)File类,IO常用流对象及IO包中其他类
- 黑马程序员——java基础之其他对象
- 黑马程序员 Java基础<九>---> 其他对象