zoukankan      html  css  js  c++  java
  • 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/ 本博客中未标明转载的文章归作者大角牛和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/dajiaoniu/p/10032384.html
Copyright © 2011-2022 走看看