您的位置:首页 > 编程语言 > Java开发

其他对象(java基础)

2015-10-07 22:59 399 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.System对象

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

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

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

描述系统的一些信息。

获取系统属性信息:Properties getProperties();

示例代码:

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);

/********可不可以在jvm启动的时候,动态加载一些属性信息?***********/
//-Dname=value;

for(Object obj : prop.keySet())//超级for循环
{
String value = (String)prop.get(obj);//通过key读取对应的值(map集合的特性)
System.out.println(obj+"::"+value);
}
System.out.println("Hello World!");
}
}


2. Runtime类

/*

Runtime对象(process)

该类并没有提供构造函数。

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

发现该类肯定提供了方法获取本类对象,而且方法是静态的,并且返回值类型是本类类型。

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

该方式是static Runtime getRuntime();

*/

class RuntimeDemo

{

public static void main(String[] args) throws Exception

{

Runtime r = Runtime.getRuntime();

r.exec("E:\\Program Files\\QQ\\Bin\\QQ.exe");

}

}

3.时间类

1.Data类

见示例

/*
时间的基本操作
*/

import java.util.*;
import java.text.*;

class DateDemo
{
private static void sop(Object value)
{
System.out.println(value);
}

public static void main(String[] args)
{
Date d = new Date();//获取当前的时间
String str = DateFormat.getDateInstance().format(d);//当前时区标准时间格式
sop(str);//希望格式输出,即Dateformat();

//将模式封装到SimpleDateFormat中
SimpleDateFormat ds = new SimpleDateFormat("yyyy年MM月dd天E hh:mm:ss");//自定义时间输出格式
String s = ds.format(d);//按照自定义的格式输出时间
sop(s);

long l = System.currentTimeMillis();//以long数据形式获取系统格式
Date ls = new Date(l);//转换为时间类型
sop(ls);
}
}


2.Carendar类

示例1:

/*
由一个日期生成一个日历,然后通过不同的方式获取其中的日期
*/

import java.util.*;
import java.text.*;

class CalendarDemo
{

private static void sop(Object value)   //输出
{
System.out.println(value);
}

public static void main(String[] args)
{
Calendar c = Calendar.getInstance();//获取当前日期的日历

/******列表改变月份输出格式*******/
String [] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};

String [] weeks = {"星期日","星期一","星期二"
,"星期三","星期四","星期五","星期六"};

/*********从日历中获取年月日,星期等**********/
sop(c.get(Calendar.YEAR) + "年");

//sop((c.get(Calendar.MONTH)+1)+"月");
sop(mons[c.get(Calendar.MONTH)]);//列表里对应的月份格式

sop(c.get(Calendar.DAY_OF_MONTH)+"日");

//sop("星期" + c.get(Calendar.DAY_OF_WEEK));
sop(weeks[c.get(Calendar.DAY_OF_WEEK)]);//列表里对应的星期格式
}
}


示例2:

/*
运用Calendar<span id="transmark"></span>中的
|-set方法对时间进行设置
|-add方法对时间进行设置

两个练习;
1.获取任意年的二月有多少天?
思路:根据制定年设置一个时间是该年三月一日。
set(year,3,1);//某年的3月1日
add(Calendar.DAY_OF_MONTH,-1);//三月一日减一天就是2月最后一天

2.获取昨天这个时刻?
思路:直接通过add设置为昨天,但是其他选择系统默认的。
add(Calendar.DAY_OF_MONTH,-1);
*/

import java.util.*;
import java.text.*;

class CalendarDemo2
{
private static void sop(Object value)   //输出
{
System.out.println(value);
}

public static void main(String[] args)
{
Calendar c = Calendar.getInstance();//获取当前日期的日历

//c.set(2016,0,18);//月份是从0开始计数的,0代表一月份

c.add(Calendar.MONTH,1);//在获取的月份的基础上加一个月份

printCalendar(c);
}

private static void printCalendar(Calendar c)//
{
/******列表改变月份输出格式*******/
String [] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};

String [] weeks = {"星期日","星期一","星期二"
,"星期三","星期四","星期五","星期六"};
/*********从日历中获取年月日,星期等**********/
sop(c.get(Calendar.YEAR) + "年");

//sop((c.get(Calendar.MONTH)+1)+"月");
sop(mons[c.get(Calendar.MONTH)]);//列表里对应的月份格式

sop(c.get(Calendar.DAY_OF_MONTH)+"日");

//sop("星期" + c.get(Calendar.DAY_OF_WEEK));
sop(weeks[c.get(Calendar.DAY_OF_WEEK)]);//列表里对应的星期格式
}
}


4.Math类

/*
Math包的基本用法:

练习:给定一个小数,保留该小数的后两位
思考:1.先放大一百倍,然后四舍五入。
2.缩小一百倍。
*/

import java.util.*;

class MathDemo {
public static void main (String[] args) {
exam();
}

/**********Random随机数演示****************/
private static void randomDemo() {
Random r = new Random();
for(int i = 0; i < 10; i++) {
long d = Math.round(Math.random()*10);//取0到10之间的伪随机数
//int d = r.nextInt(10)+1;
sop(d);
}
}

/**********Math基本方法**************/
private static void mathDemo() {
double d = Math.ceil (12.34);//cerl返回大于指定数据的最小整数,得到double类型
double f = Math.floor (12.34);//floor返回小于指定数据的最大整数,得到double类型
long l = Math.round (12.34);//四舍五入,得到long类型
double d1 = Math.pow(2,3);//2的3次方,得到double类型
sop ("d=" + d);
sop ("f=" + f);
sop ("l=" + l);
sop("d1=" + d1);
}

/**********随机一个小数,保留两位小数****************/
private static void exam () {
double d = Math.random()*10;//取一个小数随机数
long d1 = Math.round(d*100);//放大一百倍,并四舍五入
d = (double)d1/100;              //缩小一百倍,让其还原,此处如果乘以0.01,会损失精度。需要除以100
sop(d);
}

/***********输出******************/
private static void sop (Object obj) {
System.out.println(obj);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: