视频教程看第二遍了,记点东西方便自己以后回过头来看看,也见证下自己的学习历程。
1.System
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);//设置日期为那一年的三月的第一天
c.add(Calendar.DATE, -1);//日期减一,则回到了二月的最后一天
return c.get(Calendar.DAY_OF_MONTH);//获取二月中的天数。
}
System.getProperties() 静态方法 获取系统一些信息 , Properties是Hashtable的子类
在不同的机器上运行,获取的系统信息会不一样,比如默认编码,国家和JDK路径等,都可能不同。
JVM启动的时候会获取运行平台上的特有信息。
System.getProperties("os.name")获取JVM运行环境的系统,比如在WIN7下运行,就获取到Windows 7
out 标准输出,默认为控制台
in 标准输入,默认为键盘
可通过命令 java -Dx=123 类名 动态往系统properties中加入键值对,键为x 值为123
也可通过System.setProperties("key","value") 动态往系统信息中加入键值对。
2.Date
表示瞬间,精确到毫秒。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");//SimpleDateFormat 在java.text 包中
用SimpleDateFormat 可以格式化日期,也可以巧妙的运用该类来获取日期中的单个属性。比如 SimpleDateFormat("yyyy") 只获取年。
注意: E 表示今天星期几,不需要写成 星期E 因为 E 已经本地化了,所以E 直接就得到 “星期一”
3.Calendar
该类是一个抽象类,可通过 Calendar.getInstance();获取实例对象
Calendar中的MONTH是从0开始的,0-11分别对应1-12月。可用查表法获取月份和星期几
String[] month = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"}
将实际Calendar.MONTH的值作为下标去month数组中取月份。month[c.get(Calendar.MONTH)]
Calendar c = Calendar.getInstance();
c.set(2011,2,12);//可通过set 方法,设置对象c中的年月日。
c.add(Calendar.YEAR,-1);//第二个参数为正,即日期往后推,为负 则 往前推。 注:时间是连续的,一月往前推一个月就是上一年的十二月
练习关键代码:
//获取任意年的二月的天数
public static int getFebDays(int year){
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);//设置日期为那一年的三月的第一天
c.add(Calendar.DATE, -1);//日期减一,则回到了二月的最后一天
return c.get(Calendar.DAY_OF_MONTH);//获取二月中的天数。
}
//获取昨天的现在这个时刻
public static String getYestoday(){
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -1);//日期减一
return c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+
c.get(Calendar.DAY_OF_MONTH)+"日"+c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
}
public static String getYestoday(){
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -1);//日期减一
return c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+
c.get(Calendar.DAY_OF_MONTH)+"日"+c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
}
4.Math
Math.abs(int i) 返回绝对值 Math.ceil(16.12) =》 17.00 返回大于指定数的最小整数 Math.floor(12.12) 返回小于指定数的最大整数
Math.round(12.3)=> 12
//四舍五入
Math.pow(2,3); // 2的3次方 返回类型为 double
Math.random();
//产生0.0 到 1.0之间的随机数,取值范围包含0 不包含 1
java.util包中的Random 类也能产生随机数,实现代码如下:
Random ran = new Random();
int k = ran.nextInt(10);
// k 即为 0到10的随机数 (包括0 不包括 10 )
练习关键代码:
double
a = 12.0516;
DecimalFormat df =
new
DecimalFormat(
".00"
);//保留小数的后两位
System.
out
.println(df.format(a));//打印
12.05 四舍五入