java学习--java.util包中常用类
Posted BalaBala
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习--java.util包中常用类相关的知识,希望对你有一定的参考价值。
java.util包被称为java工具包,里面包含大部分的工具类
Random 随机数类
new Random()
rd.nextInt()
rd.nextInt(100)
Scanner 扫描器类
Scanner sc = new Scanner(system.in);
String str = sc.next();
String str1 = sc.nextLine();
int t = sc.nextInt();
float t = sc.nextFloat();
Date 日期类
Date d = new Date(); 当前时间
Date d = new Date(long); 指定的时间
d.getTime();获得当前时间的毫秒数
日期格式化类
SimpleDataFormat 格式化日期时间的类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String s = sdf.format(d);
Calendar 日历类
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
int sec = c.get(Calendar.SECOND);
int w = c.get(Calendar.DAY_OF_WEEK);
ps:Calendar类是一个抽象类,需要通过getInstance()方法来实现
Calendar与Date类之间的转换分别是getTime()和setTime()
Calendar对象获取month将会比实际的月份少一个月,是从下标为0开始的
Calendar对象获取day_of_week是获取到当前星期,返回的是重这周日到当前礼拜的天数。
TimerTask 定时任务类
Timer 定时器
定义一个类继承TimerTask,重写run方法
创建一个Timer对象
创建一个xxTask对象
启动任务
在指定的时间指定任务
t.schedule(task, date);
延迟一定时间执行
t.schedule(task, 500);
延迟一定时间执行,每隔一定时间重复执行一次
t.schedule(task, 5000, 1000);
在指定的时间开始执行,每隔一定时间重复执行一次
t.schedule(task, d, 1000);
Arrays 数组类
binarySearch(数组,值) 用二分法查找值在数组中出现的下标位置,前提条件,数组必须是有序的
sort(数组) 对数组用快排法进行排序
toString(数组) 将数组转换成字符串形式
copyOf(数组,长度)拷贝数组,得到一个新数组
附:控制台日历查询程序
1 package com.work.calendar; 2 3 import java.util.Calendar; 4 import java.util.Scanner; 5 6 7 public class CalendarDemo { 8 int year,month,day=0; 9 //定义一个存放日期天数的数组 10 int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; 11 Calendar cad ; 12 /** 13 * 无参构造方法中获取当前日期 14 */ 15 public CalendarDemo(){ 16 cad= Calendar.getInstance(); 17 this.year = cad.get(Calendar.YEAR); 18 this.month=cad.get(Calendar.MONTH)+1; 19 } 20 /** 21 * 给日历对象传入一个具体的日期 22 * @param year 23 * @param month 24 * 2018年8月26日 25 */ 26 public void setCalendarDemo(int year,int month){ 27 this.year = year; 28 this.month = month; 29 cad = Calendar.getInstance(); 30 cad.set(Calendar.YEAR, year); 31 cad.set(Calendar.MONTH,month-1); 32 } 33 /** 34 * 将获取到的日历打印 35 * 36 * 2018年8月26日 37 */ 38 public void link() { 39 if(year/4==0&&year/100!=0||year%400 ==0) { 40 days[1]=29; 41 }else { 42 days[1]=28; 43 } 44 System.out.println(year+"年"+month+"月"); 45 System.out.println("日 一 二 三 四 五 六"); 46 cad.set(Calendar.DAY_OF_MONTH, 1); 47 int first = cad.get(Calendar.DAY_OF_WEEK); 48 for(int i = 0;i<first-1;i++) { 49 System.out.print(" "); 50 } 51 for(int i=0;i<days[month-1];i++) { 52 System.out.print(i+1+" "); 53 if(first==7) { 54 first=0; 55 System.out.println(); 56 } 57 first++; 58 } 59 } 60 public static void main(String[] args) { 61 int month,year; 62 boolean flag = true; 63 Scanner sc = new Scanner(System.in); 64 System.out.println("请输入年份和月份"); 65 year = sc.nextInt(); 66 month = sc.nextInt(); 67 CalendarDemo c = new CalendarDemo(); 68 c.setCalendarDemo(year, month); 69 c.link(); 70 while(flag) { 71 System.out.println(); 72 System.out.println("输入a,d可以查看上个月,下个月的日历"); 73 System.out.println("输入r可以退出程序"); 74 char operation = sc.next().charAt(0); 75 if(operation==‘a‘) { 76 if(month==1) { 77 year = year - 1; 78 month = 12; 79 }else { 80 month=month-1; 81 } 82 }else if(operation ==‘d‘){ 83 if(month==12) { 84 year = year+1; 85 month = 1; 86 }else { 87 month=month+1; 88 } 89 }else if(operation ==‘r‘) { 90 flag = false; 91 } 92 c.setCalendarDemo(year, month); 93 c.link(); 94 System.out.println(); 95 System.out.println("程序已退出"); 96 } 97 sc.close(); 98 } 99 }
以上是关于java学习--java.util包中常用类的主要内容,如果未能解决你的问题,请参考以下文章
java中常用的包类以及包中常用的类方法属性-----io包
java中常用的包类以及包中常用的类方法属性----lang包