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

黑马程序员——java基础(其它常用对象)

2015-04-25 14:15 267 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

第十章:java基础(其它常用对象)

本章概述:

第一部分:System

第二部分:Runtime

第三部分:Date

第四部分:Math

第一部分:System

1、特点:

方法和属性都是静态的

用于描述系统的一些信息

2、字段

in 标准输入流:默认键盘

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

3、方法:

currentTimeMillis 获取当前时间到世界协调时间的毫秒值

gc 向JVM发送垃圾收集请求

getProperties() 获取系统当前属性信息

exit 退出系统

setProperty 在系统中设置一些特有属性信息

在JVM启动时动态加载属性信息

Java -Dhaha=qqqqq Java文件

getProperty(String) 获取系统指定属性信息

setIn 设置默认输入流

setOut 设置默认输出流

4、properties类

是HashTable的子类,那么可以用Map的方法取出该集合中的元素

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

方法StringPorpertiesName 返回此属性列表中的键集

代码示例:

/*
需求:System类代码示例
*/

import java.util.*;

//定义类
class  SystemDemo
{
//主函数
public static void main(String[] args)
{
//System的方法和属性都是静态的
System.out.println(System.currentTimeMillis());  //其实大家,我们天天写的打印语句就是System类中的out字段的功能

//获取当前系统属性,用Properties类接收
Properties prop = System.getProperties();

//使用Map的方法来操作Properties集合
//取出迭代器遍历集合
Set<Map.Entry<Object,Object>> set = prop.entrySet();
Iterator<Map.Entry<Object,Object>> it = set.iterator();
while (it.hasNext())
{
System.out.println(it.next());
}
}
}


第二部分:Runtime

1、特点:

是Java应用程序与其运行环境相连接

没有可供创建对象的构造函数,有一个静态方法创建本类对象返回给调用者使用, 使用了单例设计模式

2、方法

getRuntime 返回一个该类对象

exec(command) 创建一个单独的进程执行指定的字符串命令,返回Process

Process类

方法(用本机方法创建进程)

destroy():杀掉子进程

代码示例:

/*
需求:Runtime类代码示例
*/

import java.util.*;

//定义类
class  RuntimeDemo
{
//主函数
public static void main(String[] args)
{
//获取一个Runtime对象,用Runtime中的静态方法getRuntime
Runtime run = Runtime.getRuntime();

//创建一个进程引用
Process pro = null;
//以下两个方法都抛出异常,处理一下
try
{
//创建一个本机进程
pro = run.exec("C:\\Windows\\System32\\calc.exe");

//线程睡3秒后杀掉子进程
Thread.sleep(3000);

}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
//如果子进程创建成功才把它杀掉
if (pro!=null)
{
//杀掉子进程
pro.destroy();
}
}
}
}


第三部分:Date

DateFormat

格式化日期

SimpleDateFormat

new SimpleDateFormat("yyyy年MM月dd日")

方法:

对象.format(让模式格式化指定Date对象)

模式(pattern)

y年

M 年中的月份

w 年中的周数

W 月份中的周数

D 年中的天数

d月份中的天数

F 月份中的星期

E 星期中的天数

H 一天中的小时数(0~23)(h 12小时制)

k 一天中的小时数(1~24)(K 12小时制)

n 一小时的分钟数

s 一分钟的秒数

S 毫秒数

示例:yyyy年MM月dd日E HH:nn:ss

Calendar(日历)

字段

Calendar.YEAR

Calendar.MONTH

Calendar.DAY_OF_MONTH

...

方法:

Calendar.get(字段)

对象.set(2012,0,23)

add(要加的字段,添加的量)

getInstance 获取日历示例

Calendar.getInstance().get(YEAR)

可以用查表法格式化

代码示例:

<pre name="code" class="java">/*
需求:Date类代码示例
*/

import java.util.*;
import java.text.*;  //要导入格式化日期的2015/4/28类

//定义类
class  DateDemo
{
//主函数
public static void main(String[] args)
{
//创建一个Date类
Date date = new Date();

//打印一下Date类的信息
System.out.println(date);

//创建一个格式化时间对象,传入一个格式化的模式
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");

//调用格式化方法,传入要格式化的时间对象,打印
System.out.println(df.format(date));

}
}




练习:获取任意年的二月的天数

思路:根据指定年设置一个时间

设置三月一号

往前推一天

第四部分:Math

静态的

方法:

abs 返回绝对值

double ceil(double) 返回大于指定数据的最小整数

double floor(double) 返回小于指定数据的最大整数

long round(double) 四舍五入

double floor(double) 返回小于等于参数的最大整数的double值

double pow(double底数,double指数) 求幂

double random() 返回[0~1)的伪随机数

Random类

nextInt

nextDouble

代码示例:

/*
需求:常用类代码示例
*/

import java.util.*;

//定义类
class  OtherDemo
{
//主函数
public static void main(String[] args)
{
//获取绝对值
System.out.println("-323绝对值:"+Math.abs(-323));
//四舍五入
System.out.println("3.14四舍五入:"+Math.round(3.14));
//···(都打印出来了)
System.out.println("大于等于3.14的最小整数:"+Math.ceil(3.14));
System.out.println("3的5次方求幂:"+Math.pow(3,5));

System.out.println("\r\n获取10个1~10的随机整数");
for (int i = 0;i<10 ;i++ )
{
//用Math类中的生成0~1的伪随机数的方法
System.out.println((int)((Math.random()*10)+1));
}

System.out.println("或者:");
for (int i = 0;i<10 ;i++ )
{
//用Random中生成伪随机整数的方法,参数表示1~不包含该参数的整数范围
System.out.println(new Random().nextInt(10)+1);
}

}
}


本章总结:

1、本章的方法是处理一些程序与环境交互信息的类的讲解,属于基础信息处理的类,在日后开发中将会很常用,所以需要特别讲解和重点掌握它们的使用。

2、System类是描述一些系统信息的类,可以同过该方法获取当前运行平台的信息,以便使用这些信息确定程序的一些特定加载内容,还要掌握Properties中属性的使用。

3、Runtime类可以实现跟运行平台信息的动态交互,还可以进行调用平台的本地进程等操作。

4、Date类及DateFormat类可以处理日期类信息,及获取当前日期、指定日期、格式化日期格式等操作。

5、Math等类可以对数据进行各种数学运算,获取随机数的功能比较常用,要做必要掌握。

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