Java基础<十四>---> 其他对象(System、Runtime、时间类、Math)
来源:互联网 发布:android应用性能优化 编辑:程序博客网 时间:2024/05/13 11:25
第一 System类
一、概述:
1、System类是描述系统一些信息的类,不可以实例化,也无构造函数。
2、System类中的方法和属性都是静态的。
in :标准输入流,默认是键盘。
out:标准输出流,默认是控制台。
二、方法:
1、获取系统的属性信息:
Properties getProperties();
说明:1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。
2)该集合存储的都是字符串,没有泛型定义
2、获取指定属性信息:
String System.getProperty(String key);
3、在系统内定义特有信息:
void System.setProperty(String key,String value);
4、如何在jvm启动时,加载一些属性信息:
通过命令:java -D<name>=<value> 可以设置特有的系统属性信息
示例:
import java.util.Properties;/* * system类中的方法都是静态的,out是标准的输出流,输出到控制台,in是标准的输入流,获取键盘的输入 * * 获取系统信息,Properties getProperties(); */public class SystemDemo {public static void main(String[] args) {Properties pro = System.getProperties();//设置属性System.setProperty("wo", "my set property");//获取指定属性String value = System.getProperty("os.name");System.out.println("获取指定属性:" + value);//动态加载属性信息,用到java的-D命令进行动态设定属性信息//获取全部信息,properties是hashtable的子类也就是map的子类,所以用map的取值方式进行取值for(Object obj : pro.keySet()){String str = (String) pro.get(obj);System.out.println(obj + "::" + str);}}}
第二 Runtime类
一、概述:
1、每个java应用程序都有一个Runtime类实例,使应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。
2、该类并未提供构造函数:说明不可以new对象,那么会直接想到该类中的方法都是静态的。查阅API文档发现,该类中还有非静态方法,说明该类中肯定会提供方法获取该类对象,并且该方法是静态的,且返回值类型是该类类型。
3、由这个特点可以看出该类使用了单例设计模式。
二、方法:
1、获取本类对象:
static Runtime getRuntime();
2、在单独的进程中执行指定字符串命令:
Process exec(String command);
3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程杀掉
void destroy();
示例:/* * Runtime并没有提供构造函数,说明不可以创建对象,会直接想到该类中都是静态方法 * 但是发现其中有非静态的方法 * 说明该类肯定提供了方法获取本类对象,而且该方法是静态的,而且返回本类对象 * * 从特点看出本来使用了单利设计模式 */public class RuntimeDemo {public static void main(String[] args) {// 获取本类对象Runtime runtime = Runtime.getRuntime();try {// 调用对象执行命令,返回一个进程Process p = runtime.exec("notepad.exe");try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}// 杀掉子进程。p.destroy();// 通过程序打开文件runtime.exec("notepad.exe RuntimeDemo.java");} catch (IOException e) {e.printStackTrace();}}}
第三 时间类
一、Date类1、概述:类 Date 表示特定的瞬间,精确到毫秒。
2、转换:因为Date类获取到当前时间并以美国方式显示,所以并不是我们所需要的,也就是这样我们需要用到SimpleDateFormat类为其进行转成我们想要的类型。SimpleDateFormat接收一个模式,用于格式化。
示例:
/* * 类 Date 表示特定的瞬间,精确到毫秒。 */public class DateDemo {public static void main(String[] args) {Date d = new Date();System.out.println(d);//打印的时间不是理想中的格式,所以需要对其进行转化//将模型封装在simpledateformat对象中,SimpleDateFormat接收一个模式,用于格式化SimpleDateFormat smf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");//调用format方法让模式格式化指定的date对象String time = smf.format(d);System.out.println(time);long l = System.currentTimeMillis();Date d1 = new Date(l);System.out.println(d1);}}
1、概述:
Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。
2、方法:
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
9)获取指定的日历字段对应的时间值: ---> int get(int field);
10)将给定日历字段对应的时间值设置为给定值: ---> void set(int field,int value); 设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值: ---> void set(int year,int month,int date);
示例:
/* * 日期表示 */public class CalendarDemo {public static void main(String[] args) {Calendar calendar = Calendar.getInstance();// System.out.println(calendar);//打印calendar对象中的全部信息//设置时间//calendar.set(2050,2,3);System.out.println("设置后的时间:" + calendar.get(Calendar.YEAR));//add 根据日历的规则,为给定的日历字段添加或减去指定的时间量。//calendar.add(Calendar.MONTH, -10);System.out.println("改变后的时间:" + calendar.getTime());printCalendar(calendar);}public static void printCalendar(Calendar c) {// 设置月String[] month = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月","九月", "十月", "十一月", "十二月" };// 设置月份int indexm = c.get(Calendar.MONTH);System.out.println(month[indexm]);// 设置星期String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", };// 获取星期int indexw = c.get(Calendar.DAY_OF_WEEK);System.out.println(weeks[indexw]);// 获取年System.out.println(c.get(Calendar.YEAR) + "年");// 月System.out.println(c.get(Calendar.MONTH) + 1 + "月");// 日子System.out.println(c.get(Calendar.DAY_OF_WEEK) + "日");}}
练习:
/* * 获取任意年的二月有多少天。 * * 思路:根据指定年设置一个时间就是 * c.set(year,2,1)//某一年的3月1日。 * c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。 */public class CalendarTest {public static void main(String[] args) {getFebNum(2016);}public static void getFebNum(int year){Calendar c = Calendar.getInstance();System.out.println("时间:" + c.getTime());c.set(year,2,1);//某一年的3月1日。c.add(Calendar.DAY_OF_MONTH, -1);//3月1日,往前推一天,就是2月最后一天。System.out.println(c.get(Calendar.DAY_OF_MONTH));}}
第四 Math类
一、概述:
Math
类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
二、方法:
1、double ceil(double d) ---> 返回大于指定数据的最小整数
2、double floor(double d) ---> 返回小于指定数据的最大整数
3、double pow(double a,double b) ---> 返回a的b次方
4、double/float round(double/float m) ---> 返回m四舍五入的值
5、double random() ---> 返回0到1的随机数,包含0不包含1
示例:
public class MathDemo {public static void main(String[] args) {method();randomNum();saveTwo(12.3456, 2, true);}/* * 练习。给定一个小数。 保留该两位小数。 */public static void saveTwo(double d, int scale, boolean isRound) {double base = Math.pow(10, scale);double num = isRound ? Math.round(d * base) / base : ((int) (d * base))/ base;System.out.println("num=" + num);/* * double d1 = d*100; sop("d1="+d1); d1 = d1+0.5; double d2 = (int)d1; * sop("d2="+d2); double d3 = d2/100; sop("d3="+d3); */}/* * math方法演示 */public static void method() {double d = Math.ceil(-16.23);// 返回大于指定数据的最小整数System.out.println("Math.ceil:" + d);double d1 = Math.floor(-12.99);// 返回小于给定数据的最大整数System.out.println("Math.floor:" + d1);long l = Math.round(-12.46);// 四舍五入System.out.println("Math.round:" + l);double d2 = Math.pow(2, 3);// 返回第一个参数的第二个参数次幂的值。System.out.println("Math.pow:" + d2);}/* * 取随机数 */public static void randomNum() {Random r = new Random();// 可以用math中的random方法,也可以使用Random类for (int x = 0; x < 10; x++) {// double d = Math.random();int d = r.nextInt(10) + 1;System.out.println(d);}}}
- Java基础<十四>---> 其他对象(System、Runtime、时间类、Math)
- java基础System,RunTime,Date,Math对象
- Java基础(其他对象System、时间类(Date、Calendar)、Math)
- 黑马程序员--Java基础--集合、泛型、其他对象(System、Runtime、Math、Date)
- Java基础——其他对象(System、Runtime、Date、Calendar、Math)
- 黑马程序员——Java语言基础:其他对象(System、Runtime、Date、Calendar、Math)
- java--其他对象(System,Runtime,Date,Calendar,Math)
- java的一些其他的对象:System、Runtime、Date、Math
- JAVA学习第四十五课 — 其他对象API(一)System、Runtime、Math类
- 黑马程序员——Java基础——集合工具类Collecions、Arrays、其他对象System类、Runtime类、Date类、Calendar类、Math类等操作
- 黑马程序员 java 基础 毕向东 面向对象 常用类 System Math Property Calendar Date Runtime
- 01-其他对象API(System类)123 02-其他对象API(Runtime类) 03-其他对象API(Math类)
- 黑马程序员---Java基础(System,Runtime,Date,Calendar,Math类)
- Java常用基础类之Math、Random、RunTime、System
- java--jdk api中其他对象(System,Runtime,Calendar,Math,Random,Date)
- 其他对象—System、Runtime、Date、Calendar、Math
- 11.其他对象【System】【Runtime】【Math】【Date】【Calendar】
- 黑马程序员——其他对象(System、Runtime、Date、Math)
- Oracle、SQL Server、MySQL数据库查询前n条语句的语法
- Prism教程四: Region
- arphandler OSGi bundle 学习
- 【wordpress技巧】为内容中的所有链接都加上target=’_blank’属性
- EXT中嵌入RDLC
- Java基础<十四>---> 其他对象(System、Runtime、时间类、Math)
- 顾客忠诚度解决方案Belly获1200万美元B轮投资,便利商店7-Eleven参投
- ssh整合中的一些问题
- 2013暑假总结-SB学习
- 计算机专用英语词汇1500词(一)
- sqlserver存储过程循环写法
- 【百度站长工具sitemap存在无效的url问题的解决办法】_diannaoxitong
- 重新排列数组使得数组左边为奇数,右边为偶数
- 功能超全的在线文件转换网站