Java语言-14:Arrays类和Calendar类的概述及一些方法

1、对象数组:存储对象的一个数组
例如:
Student[]student = new Student[5];
代表数组student[]里面包含五个数组元素
Student在此表示Student类;
2、Arrays类:
package Arrays;


import java.util.Arrays;


/*Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法
 * 
Arrays:针对数组操作的工具类  (提供了一些针对数组排序和二分搜索法)
 *    public static String toString(int[] a):
 *    可以将int类型的数组转换成字符串 ([元素1,元素2,元素3...])
 *  
 sort(int[] a) : 对指定的 int 型数组按数字升序进行排序
 *  
 toString(int[] a) : 返回指定数组内容的字符串表示形式。
 * */
public class test {


public static void main(String[] args) {
//定义一个整型数组arr1
int[]arr1 = new int[5];
//给该数组添加元素
arr1[0] = 1;
arr1[1] = 2;
arr1[2] = 8;
arr1[3] = 4;
arr1[4] = 5;

//public static String toString(int[] a):可以将int类型的数组转换成字符串 ([元素1,元素2,元素3...])

//创建String对象,并使用Arrays调用toString(arr1);将其值赋给str

String str = Arrays.toString(arr1);
System.out.println("str:"+str); //输出结果为:str:[1,2,8,4,5]

// public static void sort(int[] a)对指定的 int 型数组按数字升序进行排序

//使用Arrays调用sort(arr)排序
Arrays.sort(arr1);

//创建String对象,并使用Arrays调用toString(arr1);将其值赋给str1
String str1 = Arrays.toString(arr1);

//输出
System.out.println("str1:"+str1); //输出结果为:str1:[1,2,4,5,8]

/*public static int binarySearch(int[] a,int key):二分搜索法: 
在int类型的数组中查找key元素的索引*/

//调用sort(arr1)排序
Arrays.sort(arr1);

//使用二分搜索法(index只是参数,无特别含义)
int index = Arrays.binarySearch(arr1, 2) ;
System.out.println("index:"+index); //输出结果为:index:1


}


}
3、Calendar类
import java.util.Calendar;


/*
 *Calendar类:日历类
 *Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
 * 并为操作日历字段(例如获得下星期的日期)提供了一些方法
 *
 * Calendar是一个抽象类,如何实例化? 例如:Calendar rightNow = Calendar.getInstance();
 * getInstance类方法


 * public static Calendar getInstance() :通过一个静态功能来创建日历了对象
*/
public class test {


public static void main(String[] args) {
// 通过程序实现当前的时间
// 创建日历的对象
// Calendar RightNow = new Calendar(); //Calendar编译错误:Cannot instantiate
// the type Calendar该对象不能实例化


// 通过静态功能来创建日历对象public static Calendar getInstance()
Calendar RightNow = Calendar.getInstance(); // 编译未出现错误


// get(int field) 返回给定日历字段的值。
// 获取年份YEAR
int year = RightNow.get(Calendar.YEAR);


// 获取月份MONTH
int month = RightNow.get(Calendar.MONTH);


// 获取天DATE
int day = RightNow.get(Calendar.DATE);


// 获取小时数
int hour = RightNow.get(Calendar.HOUR);


// 获取分钟数
int minute = RightNow.get(Calendar.MINUTE);


// 可一直精确获取到毫秒,再此不在一一赘述


// 输出当前时间
System.out.println("当前时间是:" + year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分");

输出为:当前时间是:2018年4月1日10时26分


}


}
import java.util.Calendar;


/*
 * Calendar中的两个常用方法:
 *public abstract void add(int field,int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量 
 *(这个方法常用)
 *
 *public final void set(int year, int month,int date)设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
 *
 *
 *
 * */
public class test1 {


private static int date;


public static void main(String[] args) {
//需求:今天的10年前是哪一年那一月那一日
//首先计算出当前的时间,使用静态功能(getInstance)
Calendar rightNow = Calendar.getInstance(); 


// 获取年份YEAR
int year = rightNow.get(Calendar.YEAR);


// 获取月份MONTH
int month = rightNow.get(Calendar.MONTH);


// 获取天DATE
int day = rightNow.get(Calendar.DATE);
System.out.println("当前时间是:" + year + "年" + month + "月" + day + "日");
//需求:今天的10年前是哪一年那一月那一日
//方法:public abstract void add(int field,int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量 
rightNow.add(Calendar.YEAR,-10);

//获取年份
year = rightNow.get(Calendar.YEAR);

//输出
System.out.println("10年前的时间是"+year+"年"+month+"月"+day+"日");

//需求:8年零3个月6天10前是什么时候,编写程序实现
rightNow.add(Calendar.YEAR,-8);
rightNow.add(Calendar.MONTH,-3);
rightNow.add(Calendar.DATE,-6);
rightNow.add(Calendar.HOUR,-10);
//获取年月日时
year = rightNow.get(Calendar.YEAR);
month = rightNow.get(Calendar.MONTH);
day = rightNow.get(Calendar.DATE);
int hour = rightNow.get(Calendar.HOUR);
System.out.println("8年零3个月6天10前的时间是:" + year + "年" + month + "月" + day + "日" + hour + "时");
}


}
输出为:当前时间是:2018年4月1日
10年前的时间是2008年4月1日
8年零3个月6天10前的时间是:2000年0月26日1时





猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80160881