黑马程序员---其他对象
2015-07-03 21:18
507 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!---------
字段摘要
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类中方法演示
运行结果
但发现该类中还有非静态方法,说明该类中肯定会提供方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由以上特点可以看出,该类使用了单例设计模式完成,保证了对象的唯一性。
Rentime类的常见方法
1. static Runtime getRuntime() Runtime类提供的方法,用来获取本类对象。
2. Process exec(String command) 打开一个exe进程
3. Process类中的方法 abstract void destroy() 杀掉子进程方法,可以将exec开启的进程结束
Runntime类中方法示例
java中的默认显示格式为:Tue Jun 16 21:50:15 CST 2015
默认的格式不能满足所有人的要求,那么就需要自定义格式化模式。
因为Date类中的大部分方法已过时,所以只能找其子类来实现。DateFormat是Date的子类,但这个类中的方法都是抽象的,
所以创建它的子类也就是SimpleDateFromat的对象来调用,并通过SimpleDateFromat类的构造方法传入描述日期和时间模式的格式,
格式要去看API。
其实在DataFormat类中有可以实现自定义模式的方法,format 但是没有办法创建DataFormat对象来调用这个方法,所以才需要子类对象来调用。
注:DataFormat及其子类对象是java.text包中的类,所以要记得导包
下面来根据代码来学习Date对象如何使用
运行结果
方法
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类中方法示例
运行结果
方法
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之中的一个了。
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:00 SimpleDateFormat 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,15 c.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学习型技术博客、期待与您交流!---------相关文章推荐
- 黑马程序员——单例设计模式
- 面试10大算法汇总
- 【超级经典】程序员装B指南
- 黑马程序员——迭代器
- 程序员面试笔试宝典学习记录(二)(程序设计相关知识)
- 面试
- 黑马程序员--Foundation框架基础
- 著名的互联网企业的面试笔试真题
- 前端面试浅谈
- 【剑指offer】面试题23:从上往下打印二叉树
- 【剑指offer】面试题22:栈的压入、弹出序列
- 黑马程序员----OC学习NSString使用方法
- hadoop面试题总结1
- 程序员黑科技之夺宝岛
- 我的前端面试题
- 黑马程序员学习笔记 Java的三大框架
- 黑马程序员学习笔记 关于继承
- 黑马程序员学习笔记 IO流详解
- 面试题31:连续子数组的最大和
- 2015爱奇艺暑期实习生面试