黑马程序员—Java API(System类、Runtime类、Math类、Date类)
来源:互联网 发布:大学生网络责任感 编辑:程序博客网 时间:2024/04/24 03:47
------- android培训、java培训、期待与您交流! ----------
System:类中的属性和方法都是静态的。
* out:标准输出,默认是控制台。
* in:标准输入。默认是键盘。
*long currentTimeMillis(); //返回当前时间毫秒值
*exit(); // 退出虚拟机
* 获取系统属性信息。static Properties getProperties() 确定当前的系统属性。
并将这些信息存储到Properties集合中。
代码示例:
import java.util.Iterator;import java.util.Map;import java.util.Properties;import static java.lang.System.*;public class SystemDemo{public static void main(String[] args){//因为Properties是HashTable的子类,也就是Map集合的子类对象,可以通过Map的方法取出集合中的元素。//该集合中存储的都是字符串。没有泛型定义。Properties prop = System.getProperties();//如何在系统中定义一些特有信息呢?System.setProperty("MyKey", "MyValue");//获取系统所有的信息。for (Object obj : prop.keySet())sop(obj+"--"+prop.get(obj));//获取指定的系统信息。String info = System.getProperty("os.name");sop("os.name:"+info);//可不可以在jvm启动时,动态加载一些属性信息呢?String s = System.getProperty("itheima");sop(s);//可以在cmd命令窗口使用java命令格式为: (java -D 键名=值名 要运行的类)。}//打印功能public static void sop(Object obj){out.println(obj);}}
System.setProperty("myname","毕老师"); //给系统属性信息集添加具体的属性信息
//临时设置方式:运行jvm时,可以通过jvm的参数进行系统属性的临时设置,可以在java命令的后面加入–D<name>=<value> 用法:java –Dmyname=小明类名。
String name =System.getProperty("os.name");//获取指定属性的信息
//想要知道该系统是否是该软件所支持的系统中的一个。
Set<String> hs = new HashSet<String>();
hs.add("Windows XP");
hs.add("Windows 7");
if(hs.contains(name))
System.out.println("可以支持");
else
System.out.println("不支持");
Runtime类:
* 该类中并没有提供构造函数,说明不可以new对象。会让人直接想到该类的方法都是静态的。
* 发现该类中有非静态方法。说明该类肯定会提供方法获取本类对象,而且该方法是静态的,并且返回值类型是本类类型。
*
* 该方法是static Runtime getRuntime(); 返回与当前 Java 应用程序相关的运行时对象。
*
* 由这个特点可以看出该类使用了单例设计模式完成。
代码示例:
public class RuntimeDemo{public static void main(String[] args) throws Exception{Runtime r = Runtime.getRuntime();//在单独的进程中执行指定的字符串命令,打开QQ//Process pro = r.exec("C:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");////进程停留10秒钟//Thread.sleep(10000);////杀掉子进程//pro.destroy();r.exec("notepad.exe D:\\java\\javaheima\\day18\\src\\day18\\SystemDemo.java");}}
Math类:
用于数学运算的工具类,属性和行为都是静态的。该类是final不允许继承。
static double ceil(double a) ; //返回大于指定数值的最小整数
static double floor(double a) ; //返回小于指定数值的最大整数
static long round(double a) ; //四舍五入成整数
static double pow(double a, double b) ; //a的b次幂
static double random(); //返回0~1的伪随机数
代码示例:
import java.util.Random;public class MathDemo{public static void main(String[] args){sop(Math.E);sop(Math.PI);sop(Math.abs(-9));double d = Math.ceil(-5.33);//ceil方法的特征,返回大于指定参数的最小整数。sop(d);double d2 = Math.floor(-5.2);//和floor方法相反,返回小于指定参数的最大整数。sop(d2);double d3 = Math.round(5.5);//round方法返回最接近参数的整数,四舍五入。sop(d3);double d4 = Math.pow(3, 2);//pow方法,返回3的2次方的值。sop(d4);for (int i = 0; i < 20; i++){int d5 = (int) (Math.random() * 10 + 1);//random方法返回带正号的 double 随机数值,该值大于等于 0.0 且小于 1.0sop(d5);}Random r = new Random();//创建Random类的对象。使用它的nextInt方法可以获取随机整数。for (int i = 0; i < 10; i++){int result = r.nextInt(10)+1;//public int nextInt(int n) 参数必须为正数,0(包括)和 n(不包括)之间均匀分布的 int 值。sop(result);}}//打印功能public static void sop(Object obj){System.out.println(obj);}}
Date类:
日期对象和毫秒值之间的转换。
1,日期对象转成毫秒值。Date类中的getTime方法。
2,如何将获取到的毫秒值转成具体的日期呢?
Date类中的setTime方法。也可以通过构造函数。
//日期对象转成毫秒值
Date d = new Date();
long time1 = d.getTime();
long time2 = System.currentTimeMillis(); //毫秒值。
//毫秒值转成具体的日期
long time = 1322709921312l;
Date d = new Date();
d.setTime(time);
将日期字符串转换成日期对象:使用的就是DateFormat方法中的 Dateparse(String source);
*/
publicstatic void method() throws Exception {
String str_time = "2011/10/25";
DateFormat df = newSimpleDateFormat("yyyy/MM/dd"); //SimpleDateFormat作为可以指定用户自定义的格式来完成格式化。
Date d = df.parse(str_time);
如果不需要使用特定的格式化风格,完全可以使用DateFormat类中的静态工厂方法获取具体的已经封装好风格的对象。getDateInstance();getDateTimeInstance();
*/
Date d = new Date();
DateFormat df =DateFormat.getDateInstance(DateFormat.LONG);
df =DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
String str_time = df.format(d);
//将日期对象转换成字符串的方式:DateFormat类中的format方法。
//创建日期格式对象。
DateFormat df = new SimpleDateFormat(); //该对象的建立内部会封装一个默认的日期格式。11-12-1下午1:48
//如果想要自定义日期格式的话。可使用SimpleDateFormat的构造函数。将具体的格式作为参数传入到构造函数中。如何表示日期中年的部分呢?可以必须要参与格式对象文档。
df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用DateFormat中的format方法。对已有的日期对象进行格式化。
String str_time = df.format(d);
}
代码示例:
import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo{public static void main(String[] args){//创建Date对象Date d = new Date();//打印出来的时间没有比较人性化的格式。sop(d);//将时间模式封装到SimpleDateFormat对象中。SimpleDateFormat sd = new SimpleDateFormat("yyyy年-MM月-dd日-E-HH点-mm分-ss秒");//调用Format方法,让模式格式化指定的Date对象。String time = sd.format(d);sop(time);}//打印功能public static void sop(Object obj){System.out.println(obj);}}
- 黑马程序员—Java API(System类、Runtime类、Math类、Date类)
- 黑马程序员---Java基础(System,Runtime,Date,Calendar,Math类)
- 黑马程序员---System,Math,Runtime,Date类/Calendar的使用
- 黑马程序员_<<常用类(System.Math,Calendar,Date,Runtime)>>
- 黑马程序员之System、Runtime、Math、Date、Calendar类
- 黑马程序员--常用API(String、基本数据类型的包装类、System、Runtime、Date、Calendar、Math)
- 黑马程序员 java 基础 毕向东 面向对象 常用类 System Math Property Calendar Date Runtime
- 黑马程序员--Java笔记11--静态类(Collections、Arrays、System、Runtime、Date、Calendar、Math)
- 黑马程序员——java基础学习--System类、Runtime类、date和Calendar类、Math类
- 黑马程序员——System、Runtime、Date、Calender、Math静态类
- AdaultBird--我的黑马程序员之路!Chapter5---java API中的System类,Properties类,Runtime类,Date类,Calendar类,Math类,IO概述及
- 黑马程序员--------System类 Math类 RunTime类 Date类 Calendar类
- 黑马程序员------其他类(System、Runtime、Date、Calendar、Math-Random)
- 黑马程序员——System类,Properties类,Random类,Math类,Runtime类,Date类,Calendar类
- 黑马程序员——Java基础——集合工具类Collecions、Arrays、其他对象System类、Runtime类、Date类、Calendar类、Math类等操作
- System Runtime Date Calendar Math 类
- 几个类System ,Runtime,Date,Calender,Math
- System,Runtime,Date,Calendar,Math-Random类
- 我们之所以觉得自己不快乐,是因为我们追求的不是幸福,而是比别人幸福。
- mysql处理百万级以上的数据时如何提高其查询速度的方法
- 纪念红军慈悲阿娇大幅度年
- Android开发获取开机启动项列表
- python数据结构与算法 26 动态规划
- 黑马程序员—Java API(System类、Runtime类、Math类、Date类)
- Oracle group by 分组,并统计
- 安全知识:“云计算”的基本原理和概念
- foj 1880 DP
- 最快的颜色缩减函数
- iOS: Layer Style Property Animations
- String,StringBuffer与StringBuilder的区别??
- Maven3路程(二)Eclipse集成Maven
- IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)