您的位置:首页 > 其它

一些常见的类

2014-06-06 17:27 330 查看
System

System 类包含一些有用的类字段和方法。它不能被实例化(表示没有构造函数)。

类中的方法和属性都是静态的。

out:标准输出,默认是控制台。

in:标准输入,默认是键盘。

获取系统属性信息:

properties getProperties();

String setProperty(String key, String value)

设置指定键指示的系统属性,返回系统属性以前的值,如果没有以前的值,则返回 null。

system的改变标准输入或输出设备。

static void setIn(InputStream in)

重新分配“标准”输入流。

static void setOut(PrintStream out)

重新分配“标准”输出流

//setIn()方法应该写在前面,在后面好像没用

System.setIn(new FileInputStream("d:\\3.txt"));

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

PrintStream ps = System.out;

String line =null;

while((line = br.readLine())!=null){

if(line.equals("over")){break;}

// System.out.println(line.toUpperCase());

ps.println(line);

}

Properties

Properties是Hashtable的子类,是一个持久的属性集,可以使用Map的方法。属性的键和值都是字符串。

--1.1 getProperties(String key)

--1.2 getProprtties(String )

--1.3 stringPropertyNames();返回键集Set<String>

--1.4 Object setProperty(key,value);设置属性,调用了hashtable的put方法。

--1.5 void list(PrintWriter out) 将属性列表输出到指定的输出流(比如配置文件)。

--1.6 void load(InputStream inStream) ;将流中的数据加载中property中。

Runtime

该类没有构造函数。每个应用程序都有个Runtime实例对象

说明不可以new对象,那么会直接想到该类中的方法都是静态是。

发现该类中还有非静态方法。

说明该类中肯定会提供了方法获取本类对象。而且该方法是静态的,

并且返回值类型是本类型,该方法是:getRuntime()。

由这个特点可以看出该类使用了单例设计模式。

常用方法:

Process exec(String command)

例子:

Runtime r = Runtime.getRuntime();//不能new

Process p = r.exec("notepad.exe day1802.java");

p.destroy();

void gc() 运行垃圾回收器。

1.Date类。--大部分方法过时。 *

使用DateFormat(抽象)的子类,simpleDateFormat格式化为想要的格式。

DateFormat抽象类:format(Date):将一个Date格式化为日期/时间的字符串。

Date d = new Date();

System.out.println(d);

//构造时即可传入模板

SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.ww:dd");

//用Format方法格式化Date对象

String time = sd.format(d);//返回String

System.out.println(time);

2.Calender。取代Date的很多方法。

能返回本类对象 static Calendar getInstance()

void set(int year, int month)

int get(int field);field: DAY_OF_YEAR

void set(int field, int value)

将给定的日历字段设置为给定值。

set方法

c.set(Calendar.YEAR,1988);

c.set(2014, 04, 23);

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH);

int day = c.get(Calendar.DAY_OF_MONTH);

int hour = c.get(Calendar.HOUR_OF_DAY);

int day1 = c.get(Calendar.DAY_OF_YEAR);

System.out.println(year+"年"+(month+1)+"月"+day+"日");//自己设置时间打印时不用加1

//2.3对时间进行增删(正负表示增和减)

c.add(Calendar.DAY_OF_MONTH, 1);//增一年

c.add(Calendar.DAY_OF_MONTH, -1);//减一年

两种方法的区别:SimpleDateFormat类好像还可以使用增减时间,并获取字段。

注意:0是一月。7是星期六 0是一月

练习:1.获取任意年的二月有多少天(get)

思路;三月减一天。

Math工具类类,方法都是静态。

常用方法:abs(a):绝对值

--1. static double ceil(double a) ,注意返回值是double.而且只有double类型数据用它。//天花板

--2. floor(double)同上。//地板

-- static long round(double a) :注意返回值 四舍五入 四舍五入 有两个方法

返回最接近参数的 long。

--3. static int round(float a)

返回最接近参数的 int。

--4.0 pow(double a, double b) pow(2,3) 2的3次方。 之所以double类型,是因为在写的时候可以写double,而int可以准成double

但是返回值类型double

--5.0 random() :0.0-1.0 包含0不包含1 0.04443583448134936

类 Random

nextInt(int n)//只有这一个可以使用参数n

练习:练习:给定一个小数,保留该小数的后两位。

double x = (double)(Math.round(d*100))/100;//round方法返回的是整数

System.out.println(x);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: