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() 静态方法来获取子类对象。

  • static Calendar  getInstance()   使用默认时区和语言环境获得一个日历

  示例:

 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()   使用默认的日期格式符号
  • SimpleDateFormat(String pattern)   使用给定的模式日期格式符号

  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

  •   String  next() 查找并返回来自此扫描器的下一个完整标记。
  •   nextLine()  此扫描器执行当前行,并返回跳过的输入信息。
  •   int    nextInt() 将输入信息的下一个标记扫描为一个 int
  • nextDouble()将输入信息的下一个标记扫描为一个 double

  示例:

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

转载于:https://www.cnblogs.com/dajiaoniu/p/10032384.html

java 中常用的类相关推荐

  1. Java中常用的类,包,接口

    Java中常用的类,包,接口 包名 说明 java.lang 该包提供了Java编程的基础类,例如 Object.Math.String.StringBuffer.System.Thread等,不使用 ...

  2. Java中常用的类及其特点

    Java中的内部类有四种(内部类作用1.封装装类型. 2.直接访问外部类成员. 3.回调.)内部类,方便他们的外部类调用,一般不会被其它类使用,比如事件监听器之类的,外部类刚好继承了一个别的类,如果你 ...

  3. java 中常用的类(笔记 十六)

    目录 一. 字符串相关的类 1.创建字符串 2.String常用方法 3.StringBuffer StringBuffer类的常用方法 4.StringBuilder 二.JDK 8之前的日期时间A ...

  4. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

  5. java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组

    java中常用API: API:Application Programming Interface,应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.这些类将底层的代码实现封装 ...

  6. java有哪些类_Java中常用的类有哪些?

    展开全部 一. System: 1.     首先是System类,因为从一开始从接触java起,我32313133353236313431303231363533e58685e5aeb9313333 ...

  7. JAVA语言异常_Java语言中常用异常类EoFException是用来处理( )异常的类_学小易找答案...

    [填空题]Java语言中常用异常类ClassNotFoundException是用来处理 ( )的异常的类 [填空题]Java语言声明 ( ) 类为会产生"严重错误"的类 [简答题 ...

  8. java中常用的工具类(二)FtpUtil, 汉字转拼音,zip工具类,CollectionUtil,MathUtil,

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java package com.itjh.javaUtil;import java.io.File; import ...

  9. java中常用的日期工具类

    java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...

最新文章

  1. Visual Studio Remote Debugger(for 2005/2008) .net远程调试转
  2. C++中指针*与指针引用*的区别说明
  3. [html] 使用svg画出一个矩形
  4. mysql8和5.7区别_mysql8.0与mysql5.7安全加密小差别
  5. 第十二章:Spring Cloud Config Server 的配置
  6. 程序员斗图时最爱用哪些表情包?拿走不谢!
  7. 体验下Xcode5与ios7
  8. Netty ChannelBuffer
  9. php里ezpdo orm框架初探
  10. 单片机 数字电压表(ADC0809)
  11. 积分电路与低通滤波器
  12. 乐谱xml文件转为VOCALOID3的输入文件格式vsqx
  13. 英特尔服务器主板g41性能,英特尔g41显卡好用吗 英特尔g41显卡评测【详解】
  14. web前端面试(1) 前端缓存怎么做?
  15. [SEEDLabs] Meltdown Spectre Attack Labs
  16. latex 在线表格生成
  17. CSS和HTML做的二次元薇尔莉特(伪),新手上路,请多关照!!!!
  18. 傻乖透明小电视(最近在苦逼实习,实习结束整理发布,先来点彩蛋,关注后不会错过哦~)——ESP8266 NodeMCU+OLED+DFPlayer Mini+小喇叭
  19. 【高等数学笔记】两类曲线积分、曲面积分的转化
  20. 你上次被程序猿喷是因为啥?

热门文章

  1. 创建数据库,指定数据库的字符集和编码顺序
  2. Go 知识点(06)— for range 切片并对切片进行 append 不会造成死循环
  3. linux环境下快速配置hadoop集群免密登录
  4. java数据类型相互转换工具类
  5. PyTorch之前向传播函数自动调用forward
  6. 奇异值分解 SVD 的数学解释
  7. 小目标检测的增强算法
  8. 斯坦福大学李飞飞团队图像分类课程笔记
  9. Idea用maven给springboot打jar包
  10. 理解GRUB2工作原理及配置选项与方法