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

黑马程序员——Java基础---其他对象

2015-06-01 21:25 821 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

第一个类 System类

一、概述。

System类是描述系统的类,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。此类中的方法和属性都是静态的,引用时用类名调用。

二、字段摘要。

err:标准输入流。

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

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

三、方法摘要。

1、返回当前系统的属性。

getProperties() 。

说明:

1)该类的返回类型是 Properties,键值对。因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素

2)该集合存储的都是字符串,没有泛型定义。

2、 获取指定键指示的系统属性。

String getProperty(String key)

3、 设置指定键指示的系统属性

String setProperty(String key, String value)

示例:

package 泛型;

import java.util.Properties;

/**
* 确定当前的系统属性 返回值Propertitese getProperties()

* @author ZHANGYU
*
*/
public class SystemTest {

public static void main(String[] args){
Properties p=System.getProperties();
//因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素
//该集合中存储的都是字符串类型的数据

for(Object k:p.keySet()){
String s=(String)p.get(k);
System.out.println(k+"::"+s);
}

}
}


第二个类 Runtime类

一、概述。

1、每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。

2、该类并没有提供构造函数,说明不可以直接new对象,那么会直接想到该类的方法是静态方法。发现该类中还有非静态方法,说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型。

3、由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性。

二、方法。

1、获取本类对象。

Static Runtime getRuntime();

2、在单独的进程中执行指定字符串命令。

Process exec(String command);

3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束。

void destroy();

示例:

package 泛型;
/*
* Runtime对象
*
* 该类并没有提供构造函数,
* 说明不可以直接new对象,那么会直接想到该类的方法是静态方法
* 发现该类中还有非静态方法
* 说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型
* 由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性
* 该方法是:
* Static Runtime getRuntime()
*
*/
public class RuntimeTest  {

public static void main(String[] args) throws Exception{
Runtime r=Runtime.getRuntime();
Process p=r.exec("notepad.exe");//打开此软件
//      p.destroy();//杀掉子进程,也就是关闭进程。
}
}


第三个类 时间类

一、Date类

1、概述。

此类表示特定的瞬间,精确到毫秒。

时间的默认格式:Sun May 31 19:08:07 CST 2015。

2、自定义时间格式。

Date的子类DateFormat有自定义格式的方法,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式。

示例:

package 泛型;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

public static void main(String[] args){
Date d=new Date();//创建对象
System.out.println(d);//看不懂时间的格式
//将模式封装到SimpleDateformat对象中
SimpleDateFormat time=new SimpleDateFormat("yyyy年mm月dd日 hh:MM:ss:S");
//调用format方法让模式格式化指定Date对象。
String s=time.format(d);
System.out.println(s);

}
}


二、Calendar类。

1、概述。

该类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

该类还可以获取时间的相应的字段。

2、字段摘要。

1)获取年份:Calendar.YEAR

2)获取月份:Calendar.MONTH

3)获取日期:Calendar.DAY_OF_MONTH

4)获取星期:Calendar.DAY_OF_WEEK

5)获取小时:Calendar.HOUR_OF_DAY

6)获取分钟:Calendar.MINUTE

7)获取秒数:Calendar.SECOND

3、方法。

1)返回给定日历字段的值。

get(int field)

2)根据日历的规则,为给定的日历字段添加或减去指定的时间量:

add(int field, int amount)

示例:

package 泛型;

import java.util.Calendar;

public class CalendaTest {

public static void main(String[] args){
Calendar c=Calendar.getInstance();
int time1=c.get(Calendar.DAY_OF_MONTH);//一月中的几号
sop("time1  "+time1);
int time2=c.get(Calendar.DAY_OF_YEAR);
sop("time2  "+time2);
int time3=c.get(Calendar.HOUR);
sop("time3    "+time3);
int time4=c.get(Calendar.HOUR_OF_DAY);
sop("time4    "+time4);
int time5=c.get(Calendar.JANUARY);//指示在格里高利历和罗马儒略历中一年中第一个月的 MONTH 字段值。
sop("time5    "+time5);
int time6=c.get(Calendar.YEAR);
sop("time6    "+time6);
int time7=c.get(Calendar.WEEK_OF_MONTH);
sop("time7    "+time7);
int time8=c.get(Calendar.MINUTE);
sop("time8   "+time8);
int time9=c.get(Calendar.MONTH);//月份是从零开始的,星期是从星期天开始的,可以使用查表法经行显示。
sop("time9   "+time9);
int time10=c.get(Calendar.WEDNESDAY);
sop("time10   "+(time10+1));
int time11=c.get(Calendar.WEEK_OF_MONTH);
sop("time11     "+time11);
c.add(Calendar.YEAR, 1);//年份加一
sop(c.get(c.YEAR));
c.add(Calendar.MONTH,1);//月份加一
sop(c.get(c.MONTH)+1);
c.set(2015, 2,1);//设置的是某一年的三月一日
c.add(c.DAY_OF_MONTH,-1);
sop(c.get(Calendar.DAY_OF_MONTH));

}

private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
}
}


第四个类 Math类

一、概述。

该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

二、方法。

1、double ceil(double d);//返回大于指定数据的最小整数

2、double floor(double d);//返回小于指定数据的最大整数

3、double pow(doublea,double b);//返回a的b次方

4、long round(doubleb);//返回b四舍五入的值

5、static double random() ;//返回返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

package 泛型;

public class MathTest {

public static void main(String[] args){
double d;
d=Math.ceil(18.2);//返回大于指定数据的最小整数
sop(d);
d=Math.ceil(-18.2);
sop(d);
d=Math.floor(12.4);//返回小于指定数据的最大整数
sop(d);
d=Math.floor(-12.5);
sop(d);
d=Math.round(12.3);//四舍五入
sop(d);
d=Math.round(12.5);
sop(d);
d=Math.pow(2, 3);//幂数运算
sop(d);
d=Math.random();//产生一个伪随机数数字大于等于0.0小于1.0
sop(d);
d=(int)(Math.random()*10)+1;//产生1到10的数据
sop((int)d);
decimal();//保留二位小数。
}

private static void decimal() {
// TODO Auto-generated method stub\
double d=12.23454;
double d1=d*Math.pow(10,2);//先将要保留的小数位变为整数
long l=Math.round(d1);//将小数四舍五入
sop(l/Math.pow(10,2));//返回保留了指定小数位的小数
}

private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
}
}


——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: