集合框架知识梳理4
---------------------------------------------------------------------------------------------------------------------------------------------
几个常用类
-----------------------------
1、System 类中的方法和属性都是静态的。
System.in 标准输入默认键盘--System.out标准输出默认控制台
2、 获取系统属性信息:Properties getProperties(); 【重点】
3、Properties 是Hashtable的子类,也就是Map集合的一个子类对象。
4、Runtime 该类没有构造函数,属于单列模式,《保证对象的唯一》
Runtime r = Runtime.getRuntime();
r.exec(String);可以启动应用程序
r.exec(程序 对应文件);
5、Date - SimpleDateFormat
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String time = sdf.format(d);
6、Calendar 类可以获取系统的配置信息。
7、重点掌握, c.add(Calendar.YEAR,4); //给年加4年。 加减亦可。
c.add(Calendar.MONTH,10);
//加月的时候,故意放一个大数字,发现自动相加到下一年了。
8、 Math.random() 生成随机数。
---------------------------------------------------------------
【12】
System
获取系统所有信息:string PropertyNames()
获取系统指定信息:String alue = System.getProperty("os.name");
设置 自定的兼职进系统信息。
System.setProperty("myKey","myValue");
动态加入值,Java -Dkey = value类名
System: 类中的方法和属性都是静态的。
out : 标准输出,默认是控制台
in : 标准是输入,默认是键盘
获取系统属性信息:Properties getProperties(); 【重点】
查看API的时候
当一个类没有构造函数的时候,说明该类不能直接创建实例,通常只有静态方法。
1、System 类中的方法和属性都是静态的。
System.in 标准输入默认键盘--System.out标准输出默认控制台
2、 获取系统属性信息:Properties getProperties(); 【重点】
3、Properties 是Hashtable的子类,也就是Map集合的一个子类对象。
4、Runtime 该类没有构造函数,属于单列模式,《保证对象的唯一》
Runtime r = Runtime.getRuntime();
r.exec(String);可以启动应用程序
r.exec(程序 对应文件);
5、Date - SimpleDateFormat
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String time = sdf.format(d);
6、Calendar 类可以获取系统的配置信息。
7、重点掌握, c.add(Calendar.YEAR,4); //给年加4年。 加减亦可。
c.add(Calendar.MONTH,10);
//加月的时候,故意放一个大数字,发现自动相加到下一年了。
8、 Math.random() 生成随机数。
---------------------------------------------------------------
【12】
System
获取系统所有信息:string PropertyNames()
获取系统指定信息:String alue = System.getProperty("os.name");
设置 自定的兼职进系统信息。
System.setProperty("myKey","myValue");
动态加入值,Java -Dkey = value类名
System: 类中的方法和属性都是静态的。
out : 标准输出,默认是控制台
in : 标准是输入,默认是键盘
获取系统属性信息:Properties getProperties(); 【重点】
查看API的时候
当一个类没有构造函数的时候,说明该类不能直接创建实例,通常只有静态方法。
class SystemDemo1 {
public static void main(String[] args) {
Properties prop = System.getProperties();
//因为Properties 是Hashtable的子类,也就是Map集合的一个子类对象。
//那么可以用过map 的方法取出该集合中的元素。
// 该集合中存储的 都是字符串,没有泛型定义。
//如何在系统中,自定义一些特有信息呢?
System.setProperty("mykey","myvalue");
//获取指定系统信息
String value = System.getProperty("os.name");
System.out.println("value:"+value);
//可不可以在jvm启动时,动态加载一些属性信息呢?
String v = System.getProperty("haha");
System.out.println("v:"+v);
//java -Dhaha=qq SystemDemo1 在CMD中运行 ,即可给v赋值。
//获取所有系统信息。
//for(Object obj : prop.keySet()){
// System.out.println(obj); //obj 就是键
// String value = (String)prop.get(obj);// get 键,获取alue
// System.out.println(obj+"::::"+value);
//}
}
}【13】
Runtime 单列设计模式(不能new对象)
该对象 常用 于启动,和结束指定进程
Runtime r = Runtime.getRuntime();
r.exec(String);可以启动应用程序
r.exec(程序 对应文件);
该类中并没有提供构造函数
说明不可以new对象,那么会直接想到,该类中的方法都是静态的
发现该类中还有非静态的方法
说明该类肯定提供了方法获取本来对象,而且该方法是警惕的,
并且返回值是本类类型。 (单列模式有木有。)
由这个特点,可以看出该类使用了单列设计模式完成《保证对象的唯一》
该方法是Static Runtime getRuntime()
class RuntimeDemo2{
public static void main(String[] args) throws Exception{
Runtime r = Runtime.getRuntime();
//r.exec("D:\\Tool2\\QQ2014\\QQProtect\\Bin\\QQProtect.exe");
//r.exec("QQProtect.exe"); //没有配置环境变量,所以失败。
Process p =r.exec("D:\\Tool2\\weiyundisk\\Bin\\wydrive.exe"); //process 返回一个进程
//为了看到下面语句的作用,先来一个间歇时间
Thread.sleep(5000);//5秒
p.destroy();
//杀掉进程。该方法只能杀掉他启动的线程。
//notepad 记事本 用记事本打开后面的文件。
//扩展:如果把记事本 改为 播放器 是可以打开电影的。
Process p2 =r.exec("notepad.exe RuntimeDemo2.java");
}
}演示 打开 微云 软件 然后 延迟5秒 又结束该进程
最后Process p2 =r.exec("notepad.exe RuntimeDemo2.java");
打开 RuntimeDemo2.java 用notepad.exe 软件。
【14】
Date : 日期。
SimpleDateFormat 在java.text 包中
Date d = new Date(); 这样的格式查看不方便。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
再调用String time = sdf.format(d);进行格式化。 的上上诉日期格式
class DateDemo3{
public static void main(String[] args) {
Date d =new Date();
System.out.println(d);//打印的时间看不懂。 如何有格式的显示?
//将模式封装到simpleDateformat对象中
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");/*yyyy年MM月dd日 hh:mm:ss
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
//调用formation 方法让模式格式化指定对象
String time = sdf.format(d);
System.out.println("Time:"+time);
}
}该类用来操作时间,可以通过上诉方式,获取指定格式的时间显示方式。
【15】
Calendar
抽象类,不能直接创建对象,可以通过静态方法,得到一个当前的日期对象
Calendar c = Calender.getInstance();
int index1 = c.get(Calender.MONTH);
int index2 = c.get(Calender.DAY_OF_WEEK);
可以直接设置日期
c.set(2014,6,16);
可以对当前日期 进行仍以的前后加减
c.add(Calendar1YEAR,1); //加一年。
class CalendarDemo4{
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//System.out.println("yeat !"+c);
// 打印c我们发现有很多信息,其中年是以键值对出现的,
// 那么。就能使用Map的方法获取
// 而YEAR这个字段必须指定所属。
System.out.println("yeat !"+c.get(Calendar.YEAR));
//打印一个年月日组合。
//【a】使用查表法来指定月份。
String [] mons = {"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月"};
int index = c.get(Calendar.MONTH);
//【b】使用查表法来指定月份。 一定要注意这个七天的顺序:空天123
String [] xing = {"","礼拜天","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六"};
int index2 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
//sop(c.get(Calendar.MONTH)+"月");使用查表法后 同样的道理,星期也可以如此。
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
//sop("星期"+c.get(Calendar.DAY_OF_WEEK)); // 使用查表法。【b】
sop(xing[index2]);
//发现月数是当前月数-1 因为Java都是从0 开始
// 并且,数字显示月份效果不佳。下面继续【a】
// 老方法获取年。
// 上面的例子SimpleDateFormat 格式化了年月日,后来加上了具体世间,还加了星期
// 那么我们只传入一个年,然后进行格式化,是否等得到年?
Date d = new Date ();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String year = sdf.format(d);
System.out.println("yeat !"+year);
}
public static void sop(Object obj){
System.out.println(obj);
}
}通过打印://System.out.println("yeat !"+c); 能够获取到系统的配对信息。
【重点:必须掌握】
Calendar 设定时间。
两个练习:
1、获取任一年的二月有多少天。
2、获取昨天的现在这个时刻。
class CalendarDemo5 {
public static void main(String[] args) {
Calendar c =Calendar.getInstance();
//set 写一个年月日。然后打印。
//c.set(2012,2,23);//设定时间
//推迟时间,必须掌握。
c.add(Calendar.YEAR,4); //给年加4年。 加减亦可。
c.add(Calendar.MONTH,10); //加月的时候,故意放一个大数字,发现自动相加到下一年了。
printlnCalendar(c);
}
// 上一Demo 中的方法。
public static void printlnCalendar(Calendar c )
{
//使用查表法来指定月份。 星期几
String [] mons = {"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月"};
int index = c.get(Calendar.MONTH);
String [] xing = {"","礼拜天","礼拜一","礼拜二","礼拜三",
"礼拜四","礼拜五","礼拜六"};
int index2 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");//年
sop(mons[index]);//月
sop(c.get(Calendar.DAY_OF_MONTH)+"日");//日
sop(xing[index2]);//礼拜几
}
public static void sop(Object obj){
System.out.println(obj);
}
}16】
Math.ceil() :返回大于指定数据的最小整数
Math.floor() :返回小于指定数据的最大整数
Math.round :四舍五入。
Math.pow(2,3) :计算次幂 2的3次幂
Math.random() :生成随机数
练习:
给定一个小数,保留该小数的后两位。
class MathDemo7 {
public static void main(String[] args) {
double m = Math.ceil(12.34);//ceil 返回大于指定数据的最小整数
double m1= Math.floor(12.34);//floor 返回小于指定数据的最大整数
long l = Math.round(12.34);
long l1 = Math.round(12.54);// round 四舍五入。
sop(m);
sop(m1);
sop(l);
sop(l1);
double d2 = Math.pow(2,3);// pow 计算次幂 2的3次幂
sop(d2);
//随机数
sop("----------------------------");
suiji();
}
public static void suiji(){
Random r = new Random();
for(int i=0 ; i<150 ; i++){
//double d = Math.random();
//int d = (int)(Math.random()*89+10);
int d=r.nextInt(899)+100;//直接生成**以内的数字。
sop(d);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}Random r = new Random();
int d = (int)(Math.random()*89+10);
随机数的生成,非常的常用。
---------------------------------------------------------------------------------------------------------------------------------------------
----------
android培训、
java培训、期待与您交流!----------
本文概述了Java集合框架中的几个常用类如System、Properties、Runtime、Date、Calendar及其应用,同时介绍了数学方法如Math类中的随机数生成、四舍五入、次幂计算等功能,并提供了实际代码示例。

757

被折叠的 条评论
为什么被折叠?



