欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 中常用的类

程序员文章站 2022-04-09 19:50:58
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API l static double abs(double a) 获取double 的绝对值 l static double ceil(double a) 向上取整(天花板) l static double floo ......

 

java 中常用的类

 

math

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

  常用api

    取整
    • static double  absdouble  a)  获取double 的绝对值
    • static double  ceildouble  a     向上取整(天花板)
    • static double  floordouble  a   向下取整 (地板)
    • static long   rounddouble a  四舍五入
java 中常用的类
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)   返回参数类型值中比较小的值
java 中常用的类
 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的随机数
java 中常用的类
1         double random = math.random();
2         // 打印结果 :0.40999788738259957
3         system.out.println(random);
math 类中的随机方法

 

calendar

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

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

  示例:

java 中常用的类
 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

 

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 时区

    示例: 

java 中常用的类
 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()               运行垃圾回收器

  示例:

java 中常用的类
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 种子创建一个新的随机数生成器。

java 中常用的类
 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 值。

   示例:

java 中常用的类
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

 

  示例:

java 中常用的类
 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() : 读取输入的值,包括单词,所有空格以及符号。到回车键结束。且光标定位到下一行