Java常用类库
System
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
System描述系统一些信息。获取系统属性信息:Properties getProperties()。
示例代码如下:
import java.util.Properties;
public class SystemDemo {
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);//null
/*
获取所有属性信息。
for(Object obj : prop.keySet()) {
String value = (String)prop.get(obj);
System.out.println(obj + "::" + value);
}
*/
}
}
在启动JVM时,如何动态加载一些属性信息?(图示说明)


Runtime
该类并没有提供构造函数。说明不可以new对象,那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供方法获取本类对象,而且该方法是静态的,返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式。
该方法是static Runtime getRuntime() 。
代码如下:
import java.io.IOException;
public class RuntimeDemo {
public static void main(String[] args) {
Runtime r = Runtime.getRuntime();
Process p =null;
try {
//p = r.exec("D:\\BaiduYunGuanjia\\BaiduYunGuanjia.exe");//传的命令的路径可能是错误的。
p = r.exec("notepad.exe SystemDemo.java");
} catch (IOException e) {
e.printStackTrace();
}
/*
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
p.destroy();//杀掉进程
*/
}
}
Date
示例代码:
import java.text.SimpleDateFormat;
import java.util.Date; public class DateDemo { public static void main(String[] args) {
Date d = new Date();
System.out.println(d);//打印的时间看不懂,希望有些格式。 //将模式封装到SimpleDateFormat对象中
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E");
//调用format()方法让模式格式化指定Date对象
String time = sdf.format(d);
System.out.println("time = " + time);
} }
Calendar
示例代码:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); String[] months = {"一月", "二月", "三月", "四月",
"五月", "六月", "七月", "八月",
"九月", "十月", "十一月", "十二月"}; String[] weeks = {"", "星期日", "星期一", "星期二", "星期三",
"星期四", "星期五", "星期六"}; int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK); sop(c.get(Calendar.YEAR) + "年");
//sop((c.get(Calendar.MONTH) + 1) + "月");
sop(months[index]);
sop(c.get(Calendar.DAY_OF_MONTH) + "日");
//sop("星期" + c.get(Calendar.DAY_OF_WEEK));
sop(weeks[index1]); /*
Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String year = sdf.format(d); System.out.println(year);
*/
} public static void sop(Object obj) {
System.out.println(obj);
} }
注意:
1、add()方法——根据日历的规则,为给定的日历字段添加或减去指定的时间量。
public abstract void add(int field, int amount)
2、set()方法——设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。保留其他日历字段以前的值。
public final void set(int year, int month, int date)
示例代码如下:
import java.util.Calendar;
public class CalendarDemo1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//c.set(2012, 2, 23);
c.add(Calendar.DAY_OF_MONTH, -18);
printCalendar(c);
}
public static void printCalendar(Calendar c) {
String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR) + "年");
sop(months[index]);
sop(c.get(Calendar.DAY_OF_MONTH) + "日");
sop(weeks[index1]);
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
练习1、获取任意年的二月有多少天。
分析:
- 根据指定年设置一个时间就是c.set(year, 2, 1);//某一年的3月1日。
- c.add(Calendar.DAY_OF_MONTH, -1);//3月1日,往前推一天,就是2月最后一天。
代码:
import java.util.Calendar;
public class CalendarTest {
public static void main(String[] args) {
System.out.println("二月有" + getDays(2016) + "天");
}
public static int getDays(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_MONTH, -1);
return c.get(Calendar.DAY_OF_MONTH);
}
}
练习2、获取昨天的现在这个时刻。
代码:
import java.util.Calendar;
public class CalendarTest1 {
public static void main(String[] args) {
System.out.println(getYesterdayTime());
}
public static String printCalendar(Calendar c) {
String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
StringBuilder sb = new StringBuilder();
sb.append(c.get(Calendar.YEAR)).append("年");
sb.append(months[index]);
sb.append(c.get(Calendar.DAY_OF_MONTH)).append("日");
sb.append(weeks[index1]).append(" ");
sb.append(c.get(Calendar.HOUR)).append("时");
sb.append(c.get(Calendar.MINUTE)).append("分");
sb.append(c.get(Calendar.SECOND)).append("秒");
sb.append(c.get(Calendar.MILLISECOND)).append("毫秒");
return sb.toString();
}
public static String getYesterdayTime() {
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -1);
return printCalendar(c);
}
}
Math
示例代码如下:
import java.util.Random;
public class MathDemo {
public static void main(String[] args) {
Random r = new Random();
//生产1~10的伪随机数
for(int x = 0; x < 10; x++) {
//int d = (int)(Math.random() * 10) + 1;
int d = r.nextInt(10) + 1;
sop(d);
}
}
public static void show() {
double d = Math.ceil(-16.34);//返回大于指定数据的最小整数
double d1 = Math.floor(12.34);//返回小于指定数据的最大整数
long l = Math.round(12.54);//四舍五入
sop("d = " + d);
sop("d1 = " + d1);
sop("l = " + l);
double d2 = Math.pow(2, 3);
sop("d2 = " + d2);
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
练习、给定一个小数,保留该小数的后两位。
代码:
import java.text.DecimalFormat;
public class MathTest {
public static void main(String[] args) {
System.out.println(getNumber(0.9));
}
public static String getNumber(double num) {
DecimalFormat df = new DecimalFormat("#0.00");//模式不能写成"#.00"
return df.format(num);
}
}
Java常用类库的更多相关文章
- Google的Java常用类库 Guava资料
java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...
- JAVA(三)JAVA常用类库/JAVA IO
成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...
- Java 常用类库与技巧【笔记】
Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...
- JAVA常用类库简介(转)
Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的 ...
- Java常用类库API之MD5简单使用
常用类库--MD5简单使用 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash v ...
- Java常用类库2
1.java.util.Date类 package LESSON9; import java.util.Date; public class demo1 { public static void ma ...
- 菜鸡的Java笔记 - java 常用类库
CommonClassLibrary 常用类库 定时调度 定时调度指的是每到一个时刻,都会自动的产生某些特定的操作形式 con ...
- 谈谈Java常用类库中的设计模式 - Part Ⅰ
背景 最近一口气看完了Joshua Bloch大神的Effective Java(下文简称EJ).书中以tips的形式罗列了Java开发中的最佳实践,每个tip都将其意图和要点压缩在了标题里,这种做法 ...
- Java常用类库(一) : Object 和日期类的简单使用
顶哥说:Java是世界的,但项目不是! Java有非常多的类库,而我们不会也不用都去学习,毕竟你也仅仅掌握了你手机20%的功能却足够你使用,不是吗? 今天介绍以下类: l Object l Dat ...
- Java常用类库 读书笔记 二
1.Date类 常用操作方法: public Date () 构造方法,实例化Date类对象 public Data(long Date) ...
随机推荐
- Jquery 1.8.2 click function - 动态
Jquery 动态按钮方法如下: $("#parentID").on("click",'.classname',function(){$(this).par ...
- 54.xilinx_modelsim仿真错误1
在仿真DDR3核时,用modelsim编译时会出现下面错误 Error:can't read "env(XILINX)":no such variable 原因:在.do文件中指定 ...
- 编译基于ARM LINUX的驱动模块的Makefile
KERNELDIR =/home/wenhao/platform/linux-2.6.34PWD := $(shell pwd)CROSS_COMPILE = /usr/local/arm/4.3.2 ...
- cameralink---格式 概要清晰理解
DS90CR288 和DS90CR286共同组成LVDS收发对, LVDS: 4对数据+1对时钟 TTL: 时钟线1:clk 并行总线共27根: 同步线2:一根场同步,一根行同步 空闲: 1 数据线2 ...
- KinectStudio使用教程
在Kinect SDK 2.0安装结束之后,会有一个KinectStudio的调试工具,他可以将动作记录下,以后即便脱离了Kinect传感器也可以愉快的调试了.现在我们来看看如何使用 首先打开Kine ...
- jQuery ajax的traditional参数的作用
一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: ? 1 2 3 4 5 6 $.ajax{ url:"xxxx&q ...
- it小小鸟心得
本来打算就这么浑浑噩噩的过完我的大学四年生涯,但当我读完这本书,改变了我的想法.许多人说大学是最美好的,确实,在这里,我每天都不用认真听讲,不用准时去上课,可是久而久之,自己有感而发觉得这样碌碌无为下 ...
- cf 496B Secret Combination
题目链接:B. Secret Combination You got a box with a combination lock. The lock has a display showing n d ...
- Facebook 和 Google 如何激发工程师的创造力
原文链接:http://kb.cnblogs.com/page/193450/ 今天终于“朝圣”了两个伟大的公司——Facebook和Google,对创造力和驱动力的来源有了更多的理解,尤其是对于典型 ...
- 日志:slf4j+log4j+maven配置
代码的日志输出,前前后后折腾了我好几次. 本着会用,快速配置的原则,还是将配置过程记录下来,以便复用. 参考:http://blog.csdn.net/anialy/article/details/8 ...