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()方法——设置日历字段 YEARMONTHDAY_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、获取任意年的二月有多少天。

分析:

  1. 根据指定年设置一个时间就是c.set(year, 2, 1);//某一年的3月1日。
  2. 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常用类库的更多相关文章

  1. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  2. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  3. Java 常用类库与技巧【笔记】

    Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...

  4. JAVA常用类库简介(转)

    Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的 ...

  5. Java常用类库API之MD5简单使用

    常用类库--MD5简单使用 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash v ...

  6. Java常用类库2

    1.java.util.Date类 package LESSON9; import java.util.Date; public class demo1 { public static void ma ...

  7. 菜鸡的Java笔记 - java 常用类库

    CommonClassLibrary 常用类库        定时调度            定时调度指的是每到一个时刻,都会自动的产生某些特定的操作形式                    con ...

  8. 谈谈Java常用类库中的设计模式 - Part Ⅰ

    背景 最近一口气看完了Joshua Bloch大神的Effective Java(下文简称EJ).书中以tips的形式罗列了Java开发中的最佳实践,每个tip都将其意图和要点压缩在了标题里,这种做法 ...

  9. Java常用类库(一) : Object 和日期类的简单使用

    顶哥说:Java是世界的,但项目不是! Java有非常多的类库,而我们不会也不用都去学习,毕竟你也仅仅掌握了你手机20%的功能却足够你使用,不是吗? 今天介绍以下类: l  Object l  Dat ...

  10. Java常用类库 读书笔记 二

    1.Date类 常用操作方法: public Date ()                         构造方法,实例化Date类对象 public Data(long Date)       ...

随机推荐

  1. iOS项目开发中的目录结构

    目录结构: 1.AppDelegate   这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来.   2.Models   这个目录下放一些与数据相关的Mod ...

  2. ios中怎么样自动剪切图片周围超出的部分

    UIImageView *image = [[UIImageView alloc] init]; image.clipsToBounds = YES;

  3. OSGi 对软件复杂度的影响

    出自 深度理解 osgi equinox 原理 1.2.1 OSGi 能让软件开发变得更容易吗 不可否认,OSGi 的入门门槛在 Java 众多技术中算是比较高的,相对陡峭的学习曲线会 为第一次使用 ...

  4. 获取 UIWebView中用户所点击的图片URL

    在使用 UIWebView 的时候 (通常是阅读类的 App),会有点击图片放大的需求,那么可以通过设置 UIWebViewDelegate 来过滤请求,取出图片的 URL 这个方法的前提是 img ...

  5. 第2章 变量和基本类型 附3---底层const和顶层const

    和英文版的对: As we’ve seen, a pointer is an object that can point to a different object. As a result,we c ...

  6. DSP28335的SPI发送

    #include "DSP2833x_Device.h"#include "DSP2833x_Examples.h"unsigned char table[]= ...

  7. JavaScript设计模式与开发实践——JavaScript的多态

    “多态”一词源于希腊文polymorphism,拆开来看是poly(复数)+ morph(形态)+ ism,从字面上我们可以理解为复数形态. 多态的实际含义是:同一操作作用于不同的对象上面,可以产生不 ...

  8. Objective-C面向对象(一)

    1.类和对象 1.1定义类 面向对象的程序设计中有两个重要概念:类(class)和对象(object),类事某一批对象的抽象,对象是一个具体存在的实体. Objective-C定义类需要氛围2个步骤 ...

  9. 一次我们网站的web性能优化

    1.Google的Web优化最佳实践 利用PageSpeed工具 对我们红酒世界网进行检测时,发现了下面的几个问题 1.Leverage browser caching 1.1.通过web.confi ...

  10. cocos2dx中导演的职责有哪些?

    1.一个游戏里面只有一个导演,因此采用了单例的设计模式,用getInstance方法来获得 2.游戏中导演负责openGL ES的初始化,场景的切换,游戏的暂停继续(相当于拍电影的ka),节点坐标与世 ...