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) ...
随机推荐
- MVC 中使用log4net 打印重复日志解决方法
最近在项目中引用log4net 来打印日志,会发现在同一时间点 打印重复记录: 详见图
- urllib3 PoolManager
A pool manager is an abstraction for a collection of ConnectionPools.If you need to make requests to ...
- 【上传AppStore】iOS项目上传到AppStore步骤流程(第三章) - 基本信息总汇
一.App ID(bundle identifier) App ID即Product ID,用于标识一个或者一组App. App ID应该和Xcode中的Bundle Identifier是一致(Ex ...
- pxe+preseed安装配置
Ubuntu Server 部署手册 pxe+tftp+vsftp+apache2 ========================================================== ...
- 处理XML的几种方式
晚上突然收到codeproject发来的订阅邮件,上面是关于用DOM出来XML,想总结一下有哪些方式可以轻松得处理XML DOM:这个再古老不过了,貌似大学开XML课程的时候,老师首推DOM XPat ...
- hibernate---table_Generator
首先讲一下调试技巧:: @javax.persistence.TableGenerator( name="Teacher_GEN", table="GENERATOR_T ...
- SVN--(Eclipse)在历史记录中比较版本差异
前言 在SVN中比较各版本的差异是非常重要的功能. 方式 看图说话 结果
- 2014 ACM/ICPC Asia Regional Anshan Online
默默的签到 Osu! http://acm.hdu.edu.cn/showproblem.php?pid=5003 #include<cstdio> #include<algorit ...
- CSS字体选择问题
在西方国家的字母体系,分成两大字族:serif 及 sans serif.其中 typewriter 打字机字体,虽然也是 sans serif,但由于他是等距字,所以另独立出一个 Typewrite ...
- Fiddler2汉化版使用说明
fiddler是一款免费且功能强大的数据包抓取软件,它能够快速的抓取HTTP会话以及支持监视.还可设置断点等诸多实用功能,非常适合计算机工作者们分析数据使用.本文就为大家详细介绍一下fiddler的功 ...