您的位置:首页 > 职场人生

黑马程序员__JAVA基础__其他对象

2013-06-07 21:45 423 查看
------------android培训java培训、java学习型技术博客、期待与您交流! ------------

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文档。还有我们不仅要明白这个功能可以实现什么效果,还要明白这些方法是怎么去实现的这些效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: