• 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 }
    CalendarDemo
  • 相关阅读:
    神经网络——BP算法
    汉诺塔
    Clucene系列3--Clucene的代码组织结构
    Clucene系列2--Clucene专业术语
    j
    TF-IDF的定义及计算
    Python编程 从入门到实践 练习5-10 检查用户名
    判断输入的正整数是否为素数
    百钱百鸡问题
    打印由 * 号组成的菱形
  • 原文地址:https://www.cnblogs.com/bananafish/p/9536868.html
Copyright © 2020-2023  润新知