(11)Java其他对象
来源:互联网 发布:matlab 数组转元胞 编辑:程序博客网 时间:2024/04/30 21:04
Java其他对象
System类
概述
System类是一个系统类,描述一个系统环境。
System类包含一些有用的类字段和方法,它不能被实例化,代表着他没有提供构造函数,里面方法全是静态的。和out(标准输出流)println组成了一个输出语句,out是打印在控制台上输出。In是可以获取键盘录入的
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。
获取系统属性方法:
1,Static Properties getProperties()//获取当前系统的属性。
因为properties是hashTable的子类,也就是Map集合的一个子类对象,那么可以通过Map的方法取出该集合中的元素。
该集合中存储都是字符串没有泛型定义。
示例:
Properties prop = System.getProperties();
高级for循环获取所有属性信息
for(Object obj: prop.ketSet())
{
String value = (String)prop.get(obj);
Sop(obj+”:”+value);
}
2,String getProperties(String key);//获取指定属性信息
示例:
String value = System.getProperties(“os.name”);
Sop(value);
设置系统属性方法
3,Static Properties setProperties()//设置指定系统的属性。
示例:
System.setProperties(“meKey”,”myvalue”);
4,怎么在jvm启动时动态的加载一些属性信息?
通过jvm命令:java-D<name>=<value>可以设置特有的系统属性信息。
示例:
String s = System.getProperty(“haha”);若当前系统没有该键值对,则返回null。
在控制台输入 java –Dhaha=qqqqq SystemDemo(类名)
Runtime类
概述
查阅API文档java.lang包里的Runtime类简介:
1,每一个java应用程序都有一个Runtime类实例,是应用程序能够与其运行的环境相连接,可以通过getRuntime方法获取当前运行时,而应用程序不能创建自己的Runtime类实例。
2,在方法摘要里没有构造方法摘要,说明他不能直接创建对象,里面的方法都是静态的,但是里面也放有非静态的,所以该类肯定会提供方法来获取对象,而且该方法是静态的,并返回值类型是本来类型。因此可以看出使用的是单例设计模式来完成的
该方法是static Runtime getRuntime();
方法
获取本类对象
Static Runtime getRuntime();
示例:
Runtime r = Rutime.getRuntime();
在单独的进程中执行指定字符串命令
Process exec(String command)
示例:
Process p = r.exec(“winmine.exe”);打开扫雷程序
在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束
Void p.destroy();
示例:
Thread.sleep(4000);先让开启的程序运行四秒
p.destroy();再杀掉exec方法开启的进程。
Date类
概述
他是对时间和日期进行描述,当描述一个时间有日期时间是一个比较复杂的内容,所有将这些封装成对象就简单了。
在API文档中的描述
类Date表示特定的瞬间,精确到毫秒。
在类Date所有可以接受或返回年月日小时分钟秒值
Java中默认显示格式
Sun Jan 16 10:58:47 CST 2011
自定义格式
因为打印的时间有些看不懂,希望有自己定义的格式,在Date类中构造方法和方法摘要里大部分已经过时了,但是在相关类另请参见那里有一个日期格式化DateFormat,他是日期时间格式化子类的抽象类。
在DateFormat里有format()将Date格式化为日期时间字符串。该抽象类有一个子类SimpleDateFormat可以实例化,定义时间模式。
注意SimpleDareFormat类是在java.text包中。
日期和时间模式表:
示例:
mport java.util.*;import java.text.*;class DateDemo {public static void main(String[] args) {Date d = new Date();//打印默认时间格式System.out.println(d);//自定义时间模式,将模式封装到SimpleDateFormat对象中SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日hh:mm:ss");//调用format方法让模式格式化指定的Date对象String time = sdf.format(d);System.out.println(time);}}
Calendar类
概述
查询API文档java.util包中Calendar类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
常用方法:
获取默认时区和语言环境的一个日历
Static Calendar Calendar.getInstance();
获取基本时间方法:
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
示例:
import java.util.*;import java.text.*;class CalendarDemo{public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {//获取默认时区和语言环境的一个日历Calendar c = Calendar.getInstance();getYear(c);getMonth(c);getWeek(c);getDay(c);getTime(c);}public static void getYear(Calendar c){//获取年份String s = c.get((Calendar.YEAR))+"年";sop(s);}public static void getMonth(Calendar c){//获取月份,可以使用查表法,这样可以打印出自定义的月份String[] month={"一月","二月","三月","四月", "五月","六月","七月","八月", "九月","十月","十一月","十二月"};int index = c.get(Calendar.MONTH);sop( month[index]);//return c.get((Calendar.MONTH)+"月");}public static void getWeek(Calendar c){//获取星期可以使用查表法,这样可以打印出自定义的星期数String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; int index = c.get(Calendar.DAY_OF_WEEK);sop( day[index]);//return c.get("星期"+(Calendar.DAY_OF_WEEK));}public static void getDay(Calendar c){//获取日期String s= c.get((Calendar.DAY_OF_MONTH))+"日";sop(s);}public static void getTime(Calendar c){//获取时分秒sop( c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND));}}打印结果如图:
设置时间基本方法
根据日历规则,为给定的日历字段添加或减去指定的时间量
Abstract void add(int field,int amount);
示例:Caledar c = Calendar.getInstance();
c.add(Calendar.YEAR,4);//将年份往后移4年
设置日历字段的年月日
void set(int year,int month,int date);
示例:c.set(2013,11,30);
练习一:
获取任意一年的二月有多少天
思路:
根据指定年设置一个时间就是
c.set (YEAR,2,1)//某年的3月1号
c.add(Calendar.DAY_OF_MONTH,-1);//在3月1号这天往前推一天就是该年2月的天数。
练习二:
获取昨天的现在这个时间
c.add(Calendar. DAY_OF_MONTH,-1);
练习三:
获取某年12月初到月底的有效学习天数,星期六合星期天不算。
思路:
根据指定年设置一个时间就是
c.set(year,11,1);//某年的12月1号
然后定义计数器计数有效天数
判断某天是否是周末
c.get(Calendar.DAY_OF_WEEK)=1&&c.get(Calendar.DAY_OF_WEEK)=7)
判断一个日期就偏移一天
c.add(Calendar.DAY_OF_MONTH+1);
具体代码:
import java.util.*;import java.text.*;class CalendarDemo2{public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {getErYue(2013);//练习一getNow();//练习二getDay(2013);//练习三}public static void getErYue(int year){Calendar c = Calendar.getInstance();c.set(year,2,1);c.add(Calendar.DAY_OF_MONTH,-1);sop(c.get(Calendar.DAY_OF_MONTH));}public static void getNow(){Calendar c = Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH,-1);sop( c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND));}public static void getDay(int year){Calendar c = Calendar.getInstance();c.set(year,11,1);int count = 0;for (int x=c.get(Calendar.DAY_OF_MONTH);x<=30 ;x++ ){if (c.get(Calendar.DAY_OF_WEEK)!=1&&c.get(Calendar.DAY_OF_WEEK)!=7)count++;//每判断一次,天数加一c.add(Calendar.DAY_OF_MONTH,1);}sop("有效上课天数:"+count);}}打印结果如图:
Math类——Random类
概述
Math类包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数。
查看API文档lang包里的Math类,其方法摘要全是静态的,也是一个工具类。
常用方法:
Double ceil(double d);返回大于指定数据的最小整数
Double floor(double d);返回小于指定数据的最大整数
Double pow(double d1,double d2);返回d1的d2次方
Long round(double d);返回四舍五入
重点:
Double random();返回正号的double值,是一个大于等于0.0小于1.0的随机数
返回的是一个伪随机选择的数
在util包中本身也给我们提供了一个Random随机数对象,我们用Math里的random方法或者用Random里的都可以。
但是用Random类里的方法更方便。
练习:给定一个小数,保留该小数的后两位。
分析:
先将给定的小数乘以100或者10的2次方,再四舍五入保留整数。
再将保留的整数除以100或者10的2次方,就是该小数。
import java.util.*;class MathDemo{public static void main(String[] args) {double num = 12.456789;getMath(num,2);}public static void getMath(double num,int x){double d = Math.round(num*Math.pow(10,x))/Math.pow(10,x);System.out.println(d);}}打印结果如图:
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
- (11)Java其他对象
- java---其他对象
- Java学习-其他对象
- java其他对象
- Java基础:其他对象
- 其他对象(java基础)
- Java笔记 - 其他对象
- Java面向对象 其他对象
- 黑马程序员--Java其他对象
- Java基础_其他对象
- Java基础-->其他常见对象
- Java——其他对象
- java-17-其他对象API
- Java学习日志--其他对象System
- Java学习日志--其他对象Runtime
- Java学习日志--其他对象Date
- Java学习日志--其他对象Calendar
- Java学习日志--其他对象Math
- 创建oracle 口令文件
- 【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!
- sql 查询数据为NULL的值
- MDK输出map文件分析一(转)
- 写IRP返回的长度可能不是sectorsize的整数倍
- (11)Java其他对象
- jquery加载动态图延迟
- .net 密码框赋值、输入以及页面刷新状态下的处理过程
- python 的持久化操作
- PHP生成随机数——rand()
- 谦卑的架构师
- linux 修改系统时间并同步到硬件时钟
- Android系统移植方法详解
- 2014-1-6 16:51:22Aspose