• java 中常用的类


    java 中常用的类

    Math

      Math 类,包含用于执行基本数学运算的方法

      常用API

        取整
      • static double  absdouble  a)  获取double 的绝对值
      • static double  ceildouble  a     向上取整(天花板)
      • static double  floordouble  a   向下取整 (地板)
      • static long   rounddouble a  四舍五入
    1 double a = 3.1415926;
    2         double ceil = Math.ceil(a);
    3         double floor = Math.floor(a);
    4         long round = Math.round(a);
    5         // 打印结果 : 4.0---3.0---3
    6         System.out.println(ceil +"---"+ floor +"---"+ round);
    Math 类中的取整
        最值
      • static  T  maxT t, T t)   返回参数类型值中比较大的值
      • static  T  minT t, T t)   返回参数类型值中比较小的值
     1         double a = 3.156;
     2         double b = 123;
     3         
     4         double max = Math.max(a, b);
     5         // 打印结果 :123.0
     6         System.out.println(max);
     7         
     8         double min = Math.min(a, b);
     9         // 打印结果 :3.156
    10         System.out.println(min);
    Math 类中的最值方法
        0-1 随机数
      • static double  random()   返回从0-1的随机数
    1         double random = Math.random();
    2         // 打印结果 :0.40999788738259957
    3         System.out.println(random);
    Math 类中的随机方法

    Calendar

      Calendar 是日历类,calendar 为抽象类,由于语言的敏感性,calendar 在创建的时候并非直接创建,而是通过静态方法创建,先处理语言的敏感性,在返回子类对象。

      Calendar 是通过getInsrance() 静态方法来获取子类对象。

      示例:

     1 public class StringDemo {
     2     /**
     3      * 通过calendar 类中的静态方法,getInstance 获取子类对象
     4      */
     5     static Calendar c = Calendar.getInstance();
     6     public static void main(String[] args) {
     7         /**
     8          * 获取当前日历年份
     9          * 结果 : 2018
    10          */
    11         System.out.println(c.get(Calendar.YEAR));
    12     }
    13 }
    获取calendar

      常用API   

        获取
      • static Calendar  getInstance()           获取日历
      • l       long     getTimeInMillis()        获取当前时间的毫秒值
      • l      Date    getTime()             获取当前时间
      • l      int     get(int field)         获取指定字段的值
        •       YEAR 年
        •       MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。
        •       DATE 天
        •       HOUR 时
        •       MINUTE分
        •       SECOND秒

     

        设置值
      • abstract  void add(int field, int amount为指定的日历字段增加或减少时间量
      •       void set(int field, int value将指定的值设置给指定的字段
      •       void setTime(Date date将指定的Date 值设置给calendar
      •       void setTimeInMillis(long millis) 将指定的毫秒值设置给calendar
     1 import java.text.SimpleDateFormat;
     2 import java.util.Calendar;
     3 import java.util.Date;
     4 
     5 public class StringDemo {
     6     /**
     7      * 通过calendar 类中的静态方法,getInstance 获取子类对象
     8      */
     9     static Calendar c = Calendar.getInstance();
    10     public static void main(String[] args){
    11         /** 
    12          * 获取当前时间的毫秒值
    13          * 打印结果:1543483475246
    14          */
    15         System.out.println(c.getTimeInMillis());
    16         
    17         /**
    18          * 获取当前时间
    19          * 打印结果:Thu Nov 29 17:24:35 CST 2018
    20          * 打印结果:2018-11-29 : 17:24:35
    21          */
    22         Date time = c.getTime();
    23         System.out.println(time);
    24         // 调用SimpleDateFormat,将当前时间转换为指定格式
    25         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss");
    26         System.out.println(dateFormat.format(time));
    27         
    28         /**
    29          * 获取当前年份
    30          * 打印结果:2020
    31          */
    32         c.set(Calendar.YEAR, 2020);
    33         System.out.println(c.get(Calendar.YEAR));
    34         
    35     }
    36 }
    calendar 的API 示例

    SimpleDateFormat 与 Date 

      DataFormat 类是针对日期进行格式化,针对字符串进行解析的类,但它是抽象类,所以使用其子类simpleDateFormat

      Data 是表示特定的瞬间,精确到毫秒

      SimpleDateFormat的构造方法

      SimpleDateFormat 的API

    • void       applyPattern(String pattern)   将指定模式字符串应用于此日期格式
    • stringBuffer  format(Date date)       将指定的日期以指定的字符串格式输出
    • Date      parse(String text)         将指定字符串解析成时间(date)

             y 年            M 月     d 日
                h 时 在上午或下午 (1~12)
                H 时 在一天中 (0~23)
                m 分     s 秒            S 毫秒        E 星期

            D 一年中的第几天
                 F 一月中第几个星期几
                 w 一年中第几个星期
                 W 一月中第几个星期
                 a 上午 / 下午 标记符
                 k 时 在一天中 (1~24)
                 K 时 在上午或下午 (0~11)
                 z 时区

        示例: 

     1 1、将当前时间毫秒值转换成指定时间字符串
     2 // 创建时间格式字符串
     3 String str = "yyyy-MM-dd HH:mm:ss 一年中的第D天---一月中第F个星期E---一年中第w个星期";
     4 SimpleDateFormat dateFormat = new SimpleDateFormat(str);
     5         /**
     6          * 使用System.currentTimeMillis()获取当前时间的毫秒值
     7          * 将时间毫秒值转换成指定格式的时间日期
     8          * 打印结果:2018-11-26 09:49:30 一年中的第330天---一月中第4个星期星期一---一年中第48个星期
     9          */
    10 System.out.println(dateFormat.format(System.currentTimeMillis()));
    11 
    12 
    13 
    14 2、将指定时间字符串转换成时间
    15         // 创建时间字符串
    16         String str1 = "2018年11月26日";
    17         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
    18         // 将时间字符串以指定格式,转换成时间
    19         Date date = simpleDateFormat.parse(str1);
    20         // 打印结果:Mon Nov 26 00:00:00 CST 2018
    21         System.out.println(date);
    22 
    23         
    时间与字符串相互转换

      Date  API

    • long   getTime()  获取当时时间的毫秒值,和System.currentTimeMillis() 类似

    System

      System API

    • void  arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束
    • long  currentTimeMillis()    返回当前时间的毫秒值
    • void  exit(int status)   终止当前正在运行的java 虚拟机
    • void  gc()               运行垃圾回收器

      示例:

    1         //  创建两个数组,一个有内容,一个长度为10的数组
    2         int[] arr = {1,2,3,4,5,6,7,8,9};
    3         int[] arr1 =new int[10];
    4         // 调用System 中的arraycopy 方法,复制arr数组到arr1中
    5         System.arraycopy(arr, 0, arr1, 0, arr.length);
    6         // 打印结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    7         System.out.println(Arrays.toString(arr1));
    system 中的arraycopy方法

    Random

      Random 类 是生成随机数(伪随机数)的类。在进行随机时,随机算法的起源数字称之为种子数,在种子数的基础上进行一定的变换,从而产生需要的随机数字。

      相同种子数的Random 对象,相同次数生成的随机数数字是完全相同的。也就是说,两个种子数完全相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。

      Random 的构造方法

        Random() 创建一个新的随机数生成器。

        Random(long seed)  使用单个 long 种子创建一个新的随机数生成器。

     1         // 创建random 类,种子数相同
     2         Random random = new Random(10);
     3         Random random1 = new Random(10);
     4         // 生成随机数
     5         int i = random.nextInt();
     6         int i1 = random1.nextInt();
     7         // 打印结果 : -1157793070----1157793070
     8         System.out.println(i+"---"+i1);
     9 
    10         // 创建random 类,生成随机数,无种子数
    11         Random random = new Random();
    12         Random random1 = new Random();
    13         // 生成随机数
    14         int i = random.nextInt();
    15         int i1 = random1.nextInt();
    16         // 打印结果 : -1526132103----233068814
    17         System.out.println(i+"---"+i1);
    Random 种子数对比

      Random 类的API

    • int next(int bits)  生成下一个伪随机数。
    • int nextInt()    返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
    • int nextInt(int n)   返回一个伪随机数,范围从0-(n-1)之间
    • boolean nextBoolean()   返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
    •  long nextLong()   返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
    • double  nextDouble()   返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 double 值。
    • float  nextFloat()   返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 float 值。

       示例:

    1         Random random = new Random();
    2         // 获取 -3到7 之间的随机数,包含-3,不包含7
    3         int nextInt = random.nextInt(10)-3;
    4         // 打印结果 5
    5         System.out.println(nextInt);
    Random 中的nextInt方法

    Scanner

      Scanner 是jdk1.5 之后添加的类。用于键盘输入内容

      构造方法

    • Scanner(InputStream source)  构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。 System.in (从键盘扫描)
    • Scanner(File source) 构造一个新的 Scanner,它生成的值是从指定文件扫描的。

      Scanner API

      示例:

     1         // 创建Scanner 类
     2         Scanner s = new Scanner(System.in);
     3         System.out.println("请输入数字");
     4         // 调用nextLine() 方法,键盘输入
     5         String line = s.nextLine();
     6         // 调用nextLine() 方法,键盘输入
     7         String line2 = s.nextLine();
     8         // 输出结果
     9         System.out.println(line+line2);
    10         
    11         // 创建Scanner 类
    12         Scanner s1 = new Scanner(System.in);
    13         System.out.println("请输入数字");
    14         // 调用nextInt() 方法,键盘输入整数
    15         int line3 = s1.nextInt();
    16         // 调用nextInt() 方法,键盘输入整数
    17         int line4 = s1.nextInt();
    18         // 输出结果
    19         System.out.println(line+line2);
    Scanner 调用示例

      注意:

      Scanner 中 next() 与 nextLine() 的区别

      next() : 只读取输入的值,到空格结束。它不能读取由两个空格或者符号隔开的单词。且光标定位到本行

      nextLine() : 读取输入的值,包括单词,所有空格以及符号。到回车键结束。且光标定位到下一行

    作者:大角牛 出处:http://www.cnblogs.com/dajiaoniu/ 本博客中未标明转载的文章归作者大角牛和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [转]按照HashTable动态设定类的属性和字段
    Enterprise Library 3.0 January 2007 CTP 数据访问程序块 _ 图解配置
    用Ad和windsor重构Portal
    ActiveRecordBase借助NHibernate的条件获取实体类对象
    Enterprise Library 3.0 January 2007 CTP 数据访问程序块 _ 系统自带链接字符串加密
    VS2005 SP1时因为安全策略而安装失败!
    [转]ASP.NET 2.0 的内部变化
    VB.NET 实现动态数组
    Making plain binary files using a C compiler (i386+)
    迭代器的使用方法简要介绍(摘自C++Primer)
  • 原文地址:https://www.cnblogs.com/dajiaoniu/p/10032384.html
Copyright © 2020-2023  润新知