System类的常用方法
package demo17;
import java.util.Calendar;
import java.util.Date;
/*
java.util.Calendar类:日历类
Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR/MONTH/DAY/NORTH/HOUR)
Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象
static Calendar getInstance() 使用默认时区和语言环境获得一个日历
成员方法的参数:
int field:日历类的字段,可以使用Calendar类的静态成员变量获取
public static final int YEAR = 1; 年
public static final int MOUTH = 2; 月
public static final int DATE = 5; 月中的某一天
public static final int DAY_OF_MONTH = 5; 月中的某一天
public static final int HOUR = 10; 时
public static final int MINUTE = 12; 分
public static final int SECOND = 13; 秒
*/
public class Demo01Calendar {
public static void main(String args) {
demo04();
}
/*
public Date getTime();返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
把日历对象,转换为日期对象
*/
private static void demo04() {
// TODO Auto-generated method stub
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
Date date = c.getTime();
System.out.println(date);
}
/*
public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量
把指定的字段增加/减少指定的值
参数:
int field:传递指定的日历字段(YEAR,MONTH...)
int mount:增加、减少指定的值
正数:增加
负数:减少
*/
private static void demo03() {
// TODO Auto-generated method stub
//使用getInstanc方法获取Calendar对象
Calendar c = Calendar.getInstance();
//把年增加2年
c.add(Calendar.YEAR, 2);
//把月份减少3个月
c.add(Calendar.MONTH, -3);
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11 东方1-12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
/*
public void get(int field,int value):将给定的字符串设置为给定值
参数:
int field:传递指定的日历字段(YEAR,MONTH...)
int value:给指定字段设置的值
*/
private static void demo02() {
// TODO Auto-generated method stub
//使用getInstanc方法获取Calendar对象
Calendar c = Calendar.getInstance();
//设置年为9999
c.set(Calendar.YEAR,9999);
//设置月为9月
c.set(Calendar.MONTH,9);
//设置日为9日
c.set(Calendar.DATE,9);
//同时设置年月日,可以使用set的重载方法
c.set(8888, 8, 8);
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11 东方1-12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
/*
public int get(int field):返回给定日历字段的值
参数:传递指定的日历字段(YEAR,MONTH...)
返回值:日历字段代表的具体的值
*/
private static void demo01() {
//使用getInstanc方法获取Calendar对象
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11 东方1-12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
}
package demo17;
import java.util.Arrays;
public class Demo01System {
public static void main(String[] args) {
demo02();
}
/*
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);
参数:
src-源数组
srcPos-源数组的起始位置(起始索引)
dest-目标数组
destPost-目标数组中的起始位置
length-要复制的数组元素的数量
练习:
将src数组的前三个元素,复制到dest数组的前三个位置上
复制元素前
src数组【1,2,3,4,5】,dest数组[6,7,8,9,10]
复制元素后
src数组【1,2,3,4,5】,dest数组[1,2,3,9,10]
*/
private static void demo02() {
// TODO Auto-generated method stub
//定义源数组
int[] src = {1,2,3,4,5};
//定义目标数组
int[] dest = {6,7,8,9,10};
System.out.println("复制前"+Arrays.toString(dest));
//使用system类中的arraycopy把源数组的前3个元素复制到目标数组的前三个位置上
System.arraycopy(src, 0, dest, 0, 3);
System.out.println("复制后"+Arrays.toString(dest));
}
/*
public static long currentTimeMillis():返回以毫秒为单位的当前时间
用来测试程序的效率
验证for循环打印数字1-999所需要使用的时间(毫秒)
*/
private static void demo01() {
// 程序执行前,获取一次毫秒值
long s = System.currentTimeMillis();
//执行for循环
for(int i = 1;i<=9999;i++) {
System.out.println(i);
}
//程序执行后,获取一次毫秒值
long e = System.currentTimeMillis();
System.out.println("程序共耗时"+(e-s)+"毫秒");
}
}