黑马程序员---其他对象
来源:互联网 发布:java学生信息管理系统 编辑:程序博客网 时间:2024/06/10 06:43
System对象
System是描述一些系统信息的类,这个类中的方法和属性都是静态的。System类不能被实例化,因为没有提供构造方法。
字段摘要
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。
方法
1. static Properties getProperties() 获取系统属性信息
因为Properties是HashTable,也就是Map集合的一个子类对象,那么可以通过Map集合中的方法取出该集合中的元素。
该集合存储的都是字符串,没有泛型限定。
2. static String getProperty(String key) 获取指定键指示的系统属性。
例:String value = System.getProperty(“os.name”); //获取系统名
3. static String setProperty(String key , String value) 设置指定的系统属性。
在JVM启动时,动态的加载一些属性信息
在DOS命令行中: java –DV = 123 SystemDemo //可以设置特有的系统属性信息
其中 SystemDemo是要被设置的程序。
System类中方法演示
/*演示System类中的方法1.static Properties getProperties();//获取系统属性信息2.static String getProperty(String key);//获取指定键指示的系统属性。例:String value = System.getProperty(“os.name”);//获取系统名3.static String setProperty(String key, String value);//设置指定键指示的系统属性。*/import java.util.*;class SystemDemo{public static void main(String[] args) {//static String getProperty(String key);//获取指定键指示的系统属性。//获取系统名String osName = System.getProperty("os.name");//输出系统名sop("系统名:"+osName);sop("--------我是华丽丽的分隔线-------");//static String setProperty(String key, String value);//设置指定键指示的系统属性。System.setProperty("myKey","myValue");//看看我们自己设置的系统属性是否出现在了系统属性中//static Properties getProperties();/获取系统属性信息Properties prop = System.getProperties();//输出系统信息sop(prop);}//输出方法public static void sop(Object obj){System.out.println(obj);}}
运行结果
Runtime对象
该类中并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的。
但发现该类中还有非静态方法,说明该类中肯定会提供方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由以上特点可以看出,该类使用了单例设计模式完成,保证了对象的唯一性。
Rentime类的常见方法
1. static Runtime getRuntime() Runtime类提供的方法,用来获取本类对象。
2. Process exec(String command) 打开一个exe进程
3. Process类中的方法 abstract void destroy() 杀掉子进程方法,可以将exec开启的进程结束
Runntime类中方法示例
/*演示Runtime类中方法1.static Runtime getRuntime()://Runtime类提供的方法,用来获取本类对象。2.Process exec(String command);//打开一个exe进程3.Process类中的方法 abstract void destroy();//杀掉子进程方法,可以将exec开启的进程结束*/class RuntimeDemo{public static void main(String[] args) throws Exception{//获取Runtime类的实例Runtime r = Runtime.getRuntime();//执行笔记本程序Process p=r.exec("notepad.exe"); //用笔记本打开指定文件 r.exec("notepad.exe 123.txt");//让线程睡一会儿Thread.sleep(2000);//关闭子进程p.destroy();}}
Date类
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Tue Jun 16 21:50:15 CST 2015
默认的格式不能满足所有人的要求,那么就需要自定义格式化模式。
因为Date类中的大部分方法已过时,所以只能找其子类来实现。DateFormat是Date的子类,但这个类中的方法都是抽象的,
所以创建它的子类也就是SimpleDateFromat的对象来调用,并通过SimpleDateFromat类的构造方法传入描述日期和时间模式的格式,
格式要去看API。
其实在DataFormat类中有可以实现自定义模式的方法,format 但是没有办法创建DataFormat对象来调用这个方法,所以才需要子类对象来调用。
注:DataFormat及其子类对象是java.text包中的类,所以要记得导包
下面来根据代码来学习Date对象如何使用
/*Data类自定义时间格式示例*/import java.util.*; import java.text.*; class DateDemo { public static void main(String[] args) { //创建Date对象Date d=new Date(); //先输出默认时间模式sop("默认时间模式:"+d); //通过查看API中SimpleDateFormat类中的时间模式我们来定义//2015年6月16日 星期二 22:03:00SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss"); //调用format方法,将时间按照我们定义的转成字符串 String time=sdf.format(d); //输出sop(time); } //输出方法 public static void sop(Object ojb) { System.out.println(ojb); } }
运行结果
Calendar对象
Calendar是一个抽象类,日历的意思
方法
1. static Calendar getInstance() 使用默认时区和语言环境获得一个日历
2. void set(int year , int month , int date) 设置日历
例:c.set(2017 , 3 , 18); //月份这里写的3月显示的会是4月,因为计算机上月份计数是从0开始的。
3. abstract void add(int field , int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
Calender类中方法示例
/*Calendar类中方法示例1.static Calendar getInstance()使用默认时区和语言环境获得一个日历2.void set(int year, int month, int date)设置日历3.abstract void add(int field, int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。*/import java.util.*;class CalendarDemo{public static void main(String[] args){//1.static Calendar getInstance();//使用默认时区和语言环境获得一个日历Calendar c = Calendar.getInstance();//调用获取时间和日期方法,并输出sop("当前日历:"+getTime(c));//2.void set(int year, int month, int date);//设置日历//将时间设置为2012,10,15c.set(2012,10,15);//输出设置之后的日历sop("自定义日历:"+getTime(c));//abstract void add(int field, int amount);//根据日历的规则,为给定的日历字段添加或减去指定的时间量。//给年减去10年c.add(Calendar.YEAR,-10);//输出设置之后的日历sop("年数减10的日历:"+getTime(c));}//获取时间和日期的方法 public static String getTime(Calendar c) { //调用获取年,月,日,星期的方法 String s=year(c)+month(c)+day(c)+"日"+week(c); return s; } //获取年份 public static int year(Calendar c) { //用get方法获取年 return c.get(Calendar.YEAR); } //获取月份 public static String month(Calendar c) { //将月份作为元素存入集合中 String[] yue={"","一月","二月","三月","四月", "五月","六月","七月","八月", "九月","十月","十一月","十二月"}; //用get方法获取月数,再作为角标数,去找集合中对应的月份 return yue[c.get(Calendar.MONTH)]; } //获取日期 public static int day(Calendar c) { //直接返回这个月的第几天即可 return c.get(Calendar.DAY_OF_MONTH); } //获取星期 public static String week(Calendar c) { //将星期作为元素存入集合中 String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; //用get方法获取星期数,再作为角标,去集合中找对应的星期 return day[c.get(Calendar.DAY_OF_WEEK)]; } //打印方法public static void sop(Object obj){System.out.println(obj);}}
运行结果
Math类
执行基本数学运算方法,该类全为静态方法,所以是工具类。
方法
1. static double ceil(double a) 返回最小double值,该值大于参数并等于某个整数
例: double d = Math.ceil(17.85); //返回18。如果参数为-17.85 返回-17
2. static double floor(double a) 返回最大double值,该值小于等于参数,并等于某个整数
例: double d = Math.floor(18.24); //返回18。如果参数为-18.24 返回-19
3. static int round (double a) 四舍五入
4. static double pow(double a , double b) a的b次幂
5. static double random() 返回一个伪随机数,这个数大于等于0 小于1 0<=x<1。然后可以通过强制转换,获得int型,方便使用
为什么是伪随机数呢?
因为这个数是底层算法算出来的,算的足够多就会找到规律。
java.util 中的Random类,使用int nextInt(int x)方法获取随机数,可以省去强制转换
例:Random r = new Random();
for(int x=0 ; x<10 ; x++) {
int i = r.nextInt(10)+1;
}
得到大于等于1,小于11的伪随机数,出来的数就会是1.2.3……10之中的一个了。
谢谢大家观看~!
-----------android培训、java培训、java学习型技术博客、期待与您交流!---------
- 黑马程序员---其他对象
- 黑马程序员-其他对象
- 黑马程序员----其他对象
- 黑马程序员------其他对象
- 黑马程序员---其他对象
- 黑马程序员----其他对象
- 黑马程序员 其他对象
- 45.黑马程序员-其他对象
- 黑马程序员_java其他对象
- 黑马程序员_其他对象
- 黑马程序员_java 其他对象
- 黑马程序员-其他类型对象
- 黑马程序员--Java其他对象
- 黑马程序员_其他对象
- 黑马程序员_API_其他对象
- 黑马程序员-day18-其他对象
- 黑马程序员_JAVA_其他对象
- 黑马程序员--API其他对象
- 电子书makefile文件分析之all的用法
- java方法的遗留问题:
- 自定义等高的cell(使用stroyboard)
- 数理统计相关概念
- 黑马程序员——单例设计模式
- 黑马程序员---其他对象
- Android开源代码汇总
- Spring MVC 学习1:MVC框架简介
- 自定义等高的cell(使用XIB)
- javaSE学习笔记之面向对象程序设计(一)
- 常见排序算法总结
- 电子书makefile分析
- HTML01
- 红野猪动画