黑马程序员--其它对象

来源:互联网 发布:淘宝店活跃的有多少家 编辑:程序博客网 时间:2024/06/01 23:45

------- android培训、java培训、期待与您交流! ----------


Runtime对象

1.      该类没有构造函数:不能new对象,说明该类中方法都是静态的.

2.      发现该类中还有非静态方法:说明该类中还会提供一个获取本类对象的静态方法.

3.      由这些特性可以说明Runtime是使用单例设计模式.

4.      Runtime 对象可以调用exec(“notepad.exe  1.java”)(execute的简写)方法执行硬盘上的一些exe程序,并打开相应的文件

5.      Java找资源或文件时候先找指定目录->没有指定目录就找当前目录bin(所在目录)->去path执行的地方找

6.      Runtime调用exec后返回是进程,这些进程是由底层资源创建的,不能手动创建

7.      杀掉进程process.destroy().

测试代码:

import java.io.IOException;public class TestRuntime {public static void main(String args[]) throws IOException, InterruptedException {Runtime r=Runtime.getRuntime();r.exec("notepad.exe hello.java");//打开记事本,并打开hello.java文件Process p=r.exec("calc.exe");//执行cal.exe程序Thread.sleep(5000);//线程等待五秒p.destroy();//关闭cal.exe的进程}}


Date对象.

1.      精准的瞬间,精确到毫秒.

2.      Date date=new Date()  date 打印出来的格式 Mon Oct 27 20:11:58 CST 2014

3.      DateFormat:日期格式化,我们用它的子类SimpleDateFormat

SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);

String s=sdf.format(date);

测试代码:把当前时间显示为xxxx年xx月xx日 HH:mm:ss的形式

public class TestDate {public static void main(String args[]) throws IOException, InterruptedException {Date date=new Date();System.out.println(date);//默认格式SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");String s=sdf.format(date);//格式化System.out.println(s);}}
运行结果:Tue Oct 28 19:20:08 CST 2014
 2014年10月28日  19:20:08


Calender

1.      Calendar calendar =Calendar.getInstance();

2.      calendar.get(Calendar.MONTH);

3.  查表法:当元素很多,而且这些元素和数组有对应的关系,而且这些数字都有角标的规律的时候就可以用查表法

4.      Calendar.set(int date,int month,int day):设置为指定的日期

5.      Calendar.add(int field,int amount):在指定的属性上偏移amount个单位

6. calendar.getTime()获取Date格式的日期;

7.      练习题:

  • 利用查表法获取当前日期
  • 两个年份相差多少个工作日(星期一到星期五) 
  • 练习使用 Calendar.set(int date,int month,int day),Calendar.add(int field,int amount)方法
import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Text3 {public static void main(String[] args) throws IOException {/** * 利用查表法和calendar对象获取现在时间 */ String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月","八月", "九月", "十月", "十一月", "十二月" }; String[] weeks={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};   Calendar calendar = Calendar.getInstance(); //获取日历对象; Integer index = calendar.get(Calendar.MONTH);//得到月份数(比实际的少1)  int day=calendar.get(Calendar.DAY_OF_MONTH); int year=calendar.get(Calendar.YEAR); Integer index1 = calendar.get(Calendar.DAY_OF_WEEK)-1;//获取星期几,外国的第一天是星期日 System.out.println(year+"年"+months[index]+" "+day+"日 "+weeks[index1]);//2014年十月月28日星期二   /**  * 计算两个日期的工作日(星期一到星期五视为工作日)  *///获取两个日期对象Calendar c = Calendar.getInstance();Calendar n = Calendar.getInstance();//设置两个指定的日期c.set(2010, 8, 1);n.set(2014, 10, 28);//初始化总天数为一天int totalDays = 1;while (!getDateFormat(c).equals(getDateFormat(n))) {//当两个日期转换后的日期不同时就继续循环c.add(Calendar.DAY_OF_MONTH, 1);//每次增加一天if (c.get(Calendar.DAY_OF_WEEK) != 1//如果不为星期天和星期六(分别对应着1和7)&& c.get(Calendar.DAY_OF_WEEK) != 7) {totalDays++;//总天数加一天}}System.out.println("总共天数:"+totalDays);}/** * * @param 把calendar对象转换为date对象 * @return */static String getDateFormat(Calendar c) {Date date = c.getTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//转换格式return sdf.format(date);}}
运行结果:2014年十月 28日 星期二
总共天数:1108

Math

1.      Double Math.Ceil(double)返回大于指定数字的最小整数

2.      Double Math.floor(double)返回小于执行数字的最大整数

3.      Math.round()                      

4.      Math.pow(a,b)      求a的b次方

5.      Math.Random()                           返回[0-1)之间的伪随机数

6.      Random r=new Random()r.nextInt(10)  返回[0-10)之间的整数

7.    练习题给定一个小数,保留后两位.

import java.util.Random;public class TestMath {public static void main(String[] args) {// 创建Random对象Random r = new Random();double num = r.nextDouble() + r.nextInt(100);// 获取随机的双精度小数System.out.println("转换前:" + num);System.out.println("转换后" + getNewNum(num));// 保留两位小数}/** *  * @param 把double类型的小数保留两位小数 * @return double result */public static Double getNewNum(Double a) {String s = "" + a;// 转换为字符串int pointIndex = s.indexOf(".");// 计算小数点在小数的位子s = s.substring(0, pointIndex + 3);// 第一个字符开始直到小数点后3位前结束Double result = Double.parseDouble(s);// 把字符串转换为double类型,此时只有两位小数return result;}}
某次运行结果: 
转换前:97.75135259824832
转换后97.75



------- android培训、java培训、期待与您交流! ----------



0 0