java 中常用的类
java 中常用的类
Math
Math 类,包含用于执行基本数学运算的方法
常用API
取整
- l
static doubleabs(double a) 获取double 的绝对值 - l
static doubleceil(double a) 向上取整(天花板) - l
static doublefloor(double a) 向下取整 (地板) - l
static longround(doublea) 四舍五入
- l
double a = 3.1415926;
double ceil = Math.ceil(a);
double floor = Math.floor(a);
long round = Math.round(a);
// 打印结果 : 4.0---3.0---3
System.out.println(ceil +"---"+ floor +"---"+ round);
Math 类中的取整
最值
- l
staticT max(T t, T t) 返回参数类型值中比较大的值 - l
staticT min(T t, T t) 返回参数类型值中比较小的值
- l
double a = 3.156;
double b = 123; double max = Math.max(a, b);
// 打印结果 :123.0
System.out.println(max); double min = Math.min(a, b);
// 打印结果 :3.156
System.out.println(min);
Math 类中的最值方法
0-1 随机数
- l
static doublerandom() 返回从0-1的随机数
- l
double random = Math.random();
// 打印结果 :0.40999788738259957
System.out.println(random);
Math 类中的随机方法
Calendar
Calendar 是日历类,calendar 为抽象类,由于语言的敏感性,calendar 在创建的时候并非直接创建,而是通过静态方法创建,先处理语言的敏感性,在返回子类对象。
Calendar 是通过getInsrance() 静态方法来获取子类对象。
staticCalendargetInstance()使用默认时区和语言环境获得一个日历
示例:
public class StringDemo {
/**
* 通过calendar 类中的静态方法,getInstance 获取子类对象
*/
static Calendar c = Calendar.getInstance();
public static void main(String[] args) {
/**
* 获取当前日历年份
* 结果 : 2018
*/
System.out.println(c.get(Calendar.YEAR));
}
}
获取calendar
常用API
获取
lstatic CalendargetInstance()获取日历- l
longgetTimeInMillis()获取当前时间的毫秒值 l DategetTime()获取当前时间lintget(int field)获取指定字段的值- YEAR 年
- MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。
- DATE 天
- HOUR 时
- MINUTE分
- SECOND秒
设置值
abstract voidadd(int field, int amount)为指定的日历字段增加或减少时间量voidset(int field, int value)将指定的值设置给指定的字段voidsetTime(Datedate)将指定的Date 值设置给calendarvoidsetTimeInMillis(long millis)将指定的毫秒值设置给calendar
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class StringDemo {
/**
* 通过calendar 类中的静态方法,getInstance 获取子类对象
*/
static Calendar c = Calendar.getInstance();
public static void main(String[] args){
/**
* 获取当前时间的毫秒值
* 打印结果:1543483475246
*/
System.out.println(c.getTimeInMillis()); /**
* 获取当前时间
* 打印结果:Thu Nov 29 17:24:35 CST 2018
* 打印结果:2018-11-29 : 17:24:35
*/
Date time = c.getTime();
System.out.println(time);
// 调用SimpleDateFormat,将当前时间转换为指定格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss");
System.out.println(dateFormat.format(time)); /**
* 获取当前年份
* 打印结果:2020
*/
c.set(Calendar.YEAR, 2020);
System.out.println(c.get(Calendar.YEAR)); }
}
calendar 的API 示例
SimpleDateFormat 与 Date
DataFormat 类是针对日期进行格式化,针对字符串进行解析的类,但它是抽象类,所以使用其子类simpleDateFormat
Data 是表示特定的瞬间,精确到毫秒
SimpleDateFormat的构造方法
- SimpleDateFormat
()使用默认的日期格式符号 - SimpleDateFormat
(Stringpattern)使用给定的模式日期格式符号
SimpleDateFormat 的API
voidapplyPattern(Stringpattern)将指定模式字符串应用于此日期格式stringBufferformat(Datedate)将指定的日期以指定的字符串格式输出Dateparse(Stringtext)将指定字符串解析成时间(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、将当前时间毫秒值转换成指定时间字符串
// 创建时间格式字符串
String str = "yyyy-MM-dd HH:mm:ss 一年中的第D天---一月中第F个星期E---一年中第w个星期";
SimpleDateFormat dateFormat = new SimpleDateFormat(str);
/**
* 使用System.currentTimeMillis()获取当前时间的毫秒值
* 将时间毫秒值转换成指定格式的时间日期
* 打印结果:2018-11-26 09:49:30 一年中的第330天---一月中第4个星期星期一---一年中第48个星期
*/
System.out.println(dateFormat.format(System.currentTimeMillis())); 2、将指定时间字符串转换成时间
// 创建时间字符串
String str1 = "2018年11月26日";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
// 将时间字符串以指定格式,转换成时间
Date date = simpleDateFormat.parse(str1);
// 打印结果:Mon Nov 26 00:00:00 CST 2018
System.out.println(date);
时间与字符串相互转换
Date API
longgetTime()获取当时时间的毫秒值,和System.currentTimeMillis() 类似
System
System API
voidarraycopy(Objectsrc, int srcPos,Objectdest, int destPos, int length)从指定源数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束longcurrentTimeMillis()返回当前时间的毫秒值voidexit(int status)终止当前正在运行的java 虚拟机voidgc()运行垃圾回收器
示例:
// 创建两个数组,一个有内容,一个长度为10的数组
int[] arr = {1,2,3,4,5,6,7,8,9};
int[] arr1 =new int[10];
// 调用System 中的arraycopy 方法,复制arr数组到arr1中
System.arraycopy(arr, 0, arr1, 0, arr.length);
// 打印结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
System.out.println(Arrays.toString(arr1));
system 中的arraycopy方法
Random
Random 类 是生成随机数(伪随机数)的类。在进行随机时,随机算法的起源数字称之为种子数,在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random 对象,相同次数生成的随机数数字是完全相同的。也就是说,两个种子数完全相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
Random 的构造方法
Random() 创建一个新的随机数生成器。
Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。
// 创建random 类,种子数相同
Random random = new Random(10);
Random random1 = new Random(10);
// 生成随机数
int i = random.nextInt();
int i1 = random1.nextInt();
// 打印结果 : -1157793070----1157793070
System.out.println(i+"---"+i1); // 创建random 类,生成随机数,无种子数
Random random = new Random();
Random random1 = new Random();
// 生成随机数
int i = random.nextInt();
int i1 = random1.nextInt();
// 打印结果 : -1526132103----233068814
System.out.println(i+"---"+i1);
Random 种子数对比
Random 类的API
int next(int bits)生成下一个伪随机数。intnextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。intnextInt(int n)返回一个伪随机数,范围从0-(n-1)之间booleannextBoolean()返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。long nextLong()返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的long值。doublenextDouble()返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的double值。floatnextFloat()返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的float值。
示例:
Random random = new Random();
// 获取 -3到7 之间的随机数,包含-3,不包含7
int nextInt = random.nextInt(10)-3;
// 打印结果 5
System.out.println(nextInt);
Random 中的nextInt方法
Scanner
Scanner 是jdk1.5 之后添加的类。用于键盘输入内容
构造方法
Scanner(InputStream source)构造一个新的Scanner,它生成的值是从指定的输入流扫描的。 System.in (从键盘扫描)Scanner(File source)构造一个新的Scanner,它生成的值是从指定文件扫描的。
Scanner API
查找并返回来自此扫描器的下一个完整标记。Stringnext()nextLine()此扫描器执行当前行,并返回跳过的输入信息。intnextInt()将输入信息的下一个标记扫描为一个 int。nextDouble()将输入信息的下一个标记扫描为一个 double。
示例:
// 创建Scanner 类
Scanner s = new Scanner(System.in);
System.out.println("请输入数字");
// 调用nextLine() 方法,键盘输入
String line = s.nextLine();
// 调用nextLine() 方法,键盘输入
String line2 = s.nextLine();
// 输出结果
System.out.println(line+line2); // 创建Scanner 类
Scanner s1 = new Scanner(System.in);
System.out.println("请输入数字");
// 调用nextInt() 方法,键盘输入整数
int line3 = s1.nextInt();
// 调用nextInt() 方法,键盘输入整数
int line4 = s1.nextInt();
// 输出结果
System.out.println(line+line2);
Scanner 调用示例
注意:
Scanner 中 next() 与 nextLine() 的区别
next() : 只读取输入的值,到空格结束。它不能读取由两个空格或者符号隔开的单词。且光标定位到本行
nextLine() : 读取输入的值,包括单词,所有空格以及符号。到回车键结束。且光标定位到下一行
java 中常用的类的更多相关文章
- java中常用的类,包,接口
类 StringIntegerLong File DateThread(java.lang.ThreadThread类的定义:public class Thread extends Object im ...
- java中常用工具类
目录 一. org.apache.commons.io.IOUtils 二. org.apache.commons.io.FileUtils 三. org.apache.commons.lang.St ...
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- 简单了解Spring中常用工具类_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...
- Java基础__Java中常用数学类Math那些事
测试 package Cynical_Gary; public class Cynical_Text { public static void main(String[] args){ System ...
- JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)
JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...
随机推荐
- beego项目运行过程
一:首先man.go,整个程序的入口 func main() { beego.Run() } 然后beego.run()代码 // Run beego application. // beego.Ru ...
- ECMAScript——(二)
1.语法 区分大小写 变量是弱类型(定义变量时只用 var 运算符,可以将它初始化为任意值.) 每行结尾的分号可有可无(建议写上) 注释与Java一样 括号表示代码块 2.变量 变量可以不用声明,变量 ...
- 让arch阻止某个软件包的升级
我更新了eclipse-java Mars版本的,感觉特别的卡,而且还有好多bug,不知道为什么,因此我去官网下载了luna版本的eclipse的安装包,不知道怎么下载的点击这里,然后安装luna版本 ...
- 服务发现 consul cluster 的搭建
consul cluster setup 介绍和指南: consul用于服务发现.当底层服务发生变化时,能及时更新正确的mysql服务IP. 并提供给业务查询.但需要自行编写脚本,监测数据库状态和切断 ...
- MySQL服务器修改主机名后问题解决
1.单机MySQL主机名修改 今天无事看到自己的主机名不对,于是改了一下,以便区分服务器,那只重启MySQL时出现下面错误: MySQL manager or server PID file coul ...
- linux cpu、内存、硬盘空间查询
[CPU] 算式: CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 #查看CPU型号 cat /proc/cpu ...
- JAVA汉字转拼音(取首字母大写)
import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT ...
- Maven3核心技术(笔记三)
第一节:Maven仓库概念 Maven 远程仓库配置文件:$M2_HOME/lib/maven-model-builder-3.3.3.jar 文件:org\apache\maven\model\po ...
- GreenPlum学习笔记:create table创建表
二维表同样是GP中重要的存储数据对象,为了更好的支持数据仓库海量数据的访问,GP的表可以分成: 面向行存储的普通堆积表 面向列存储的AOT表(append only table) 当然AOT表也可以是 ...
- MySQL学习笔记:Engine存储引擎
在使用Mysql建表过程中,有时候会遇到一些奇怪的现象.例如,如何插入数据就是查询不到数据,此时可能是建表的存储引擎设置成为engine=blackhole的原因. 1.engine=innodb 提 ...