2021-05-08

								Java常用类
String常用判断方法

*boolean equals(Object obj) 比较字符串的内容是否相同,区分大小写
*boolean equalsIgnoreCase(String str) 比较字符串的内容是否相同,忽略大小写
*boolean contains(String str) 判断大字符串中是否包含小字符串
*boolean startsWith(String str) 判断字符串是否以某个指定的字符串开头
*boolean endsWith(String str) 判断字符串是否以某个指定的字符串结尾
*boolean isEmpty() 判断字符串是否为空

String类常用的获取方法
*int length() 获取字符串的长度。
*char charAt(int index) 获取指定索引位置的字符
*int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引
*intindexOf(int ch,intfromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
*int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
*int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。
*intlastIndexOf(int ch,int)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
*int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引
*intlastIndexOf(Stringstr,int fromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
*String substring(int start) 从指定位置开始截取字符串,默认到末尾。
*Stringsubstring(int start,intend) 从指定位置开始到指定位置结束截取字符串。

String类常用构造器
*String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。String(byte[] bytes)通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
*String(byte[] bytes, Charsetcharset)通过使用指定的 charset 解码指定的 byte 数组,构造一个新的
*String。String(byte[] bytes, StringcharsetName)通过使用指定的 charset 解码指定的 byte 数组,构造一个新的
*String。String(byte[] bytes, intoffset, int length)通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。
*String(byte[] bytes, int offset,int length, Charset charset)通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。
*String(byte[] bytes, int offset,int length, StringcharsetName)通过使用指定的字符集解码指定的 byte 子数组,构造一个新的String。String(char[] value) 配一个新的 *String,使其表示字符数组参数中当前包含的字符序列。
*String(char[] value, int offset,int count)分配一个新的 String,它包含取自字符数组参数一个子数组的字符。
*String(String original)初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。
*String(StringBuffer buffer) 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
*String(StringBuilder builder) 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。

System类
System类代表当前Java程序的运行平台,程序不能创建System类的对象, System类提供了一些类变量
和类方法,允许直接通过System类来调用这些类变量和类方法

*static long currentTimeMillis() 返回以毫秒为单位的当前时间。
*static void exit(int status) 终止当前正在运行的 Java 虚拟机。
*static void gc() 运行垃圾回收器。
*static Map getenv()返回一个不能修改的当前系统环境的字符串映射视图。
*static String getenv(String name) 获取指定的环境变量值。
*static Properties getProperties() 确定当前的系统属性。
*static String getProperty(String key) 获取指定键指示的系统属性。
*static StringgetProperty(String key,String def) 获取用指定键描述的系统属性。
*static intidentityHashCode(Objectx)返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。
*static long nanoTime()返回最准确的可用系统计时器的当前值,以毫微秒为单位。

								Runtime类

Runtime类代表Java程序的运行时环境,可以访问JVM的相关信息,每个Java程序都有一个与之对应
的Runtime实例,应用程序通过该对象与其运行时环境相连。应用程序不能创建自己的Runtime实例,
但可以通过getRuntime()方法获取与之关联的Runtime对象

static
*Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象。
*int availableProcessors() 向 Java 虚拟机返回可用处理器的数目。
*long totalMemory() 返回 Java 虚拟机中的内存总量。
*long freeMemory() 返回 Java 虚拟机中的空闲内存量。
*long maxMemory() 返回 Java 虚拟机试图使用的最大内存量。
*Processexec(Stringcommand) 在单独的进程中执行指定的字符串命令。
*void gc() 运行垃圾回收器。
*void exit(int status)通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。
*void halt(int status) 强行终止目前正在运行的 Java 虚拟机。

String 类对象不可变,一旦修改 String的值就是隐形的重建了一个新的对象,释放了原 String对象
StringBuffer和StringBuilder类是可以通过append()、insert()、reverse()…等方法来修改值。创建的对象是可变
StringBuffer:线程安全的; StringBuilder:线程非安全的
字符串连接 String 的 + 比 StringBuffer(StringBuilder) 的 Append() 性能差了很多
三者在执行速度方面的比较:StringBuilder > StringBuffer > String

									数据类型

数据类型
1.小写字母,单词之间使用下划线分割
2.整形类型:【常用】(大数 int) (小数 tinyint)

3.实数类型:(小数考虑:decimeal)
4.字符串类型:char
4.char很适合存储很短的字符串,或者所有的值都接近同一个长度,char比varcgar在存储空间上也更有优势
5.VARCHAR用于存储可变长的字符串,它比定长类型更节省空间。
6.
7.5.哪些情况使用VARCHAR类型比较合适呢?
8.5-1.字符串的列长度比平均长度大很多
9.5-2.列的更新很少,碎片不是问题
10.5-3.使用了想UTF-8这样复杂的字符集,每个字符都使用了不同的字节数进行存储
11.
12.6.bit:定义一个包含1个位的数据,BIT(2)包含2个位
13.
14.7.mysql设计表的数据类型的时候
15.7-1:更小的更好
16.选择你认为不会超越范围的最小类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存
17.和cpu缓存,并且处理时需要的cpu周期更少。
18.7-2:简单就好
19.简单的数据类型操作通常更快,例如整形的操作比字符串更快,因为字符串有字符集和校对规则
20.(排序规则)比整形更复杂。
21.7-3:尽量避免null
22.如果字段可以不存储null值,尽量把字段设置成not null。因为可为null的列使得索引、索引统计和
23.值比较都更复杂,可为null的列会使用更多的存储空间,在mysql里也需要特殊处理。

									Date和Calendar类
	、Date类

Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不是java.sql包下的
Date类),Date对象既包含日期,也包含时间。Date类从JDK1.0起就开始存在了,因为它历史悠久,所
以它的大部分构造器、方法都已经过时,不再推荐使用了。

使用SimpleDateFormat类可以对 Date 和 String 相互转换

Math类
Java提供了Math工具类来完成复杂的运算,Math类是一个工具类,构造器被private的,无法创建Math
类的对象;Math类中的所有方法都是静态方法(类方法),可以直接通过类名来调用它们。Math类还
提供了两个类变量:PI(圆周率)和E(自然对数的底数)

三角函数
static double toDegrees(doubleangrad) 将弧度转换角度
static double toRadians(doubleangdeg) 将角度转换为弧度
static double acos(double a) 计算反余弦,返回的角度范围在0.0 到 pi 之间。
static double asin(double a) 计算反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
static double atan(double a) 计算反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
static double cos(double a) 计算三角余弦。
static double cosh(double a) 计算值的双曲余弦。
static double sin(double a) 计算正弦
static double sinh(double a) 计算双曲正弦
static double tan(double a) 计算三角正切
static double tanh(double a) 计算双曲正切
static double atan2(double a) 将矩形坐标 (x, y) 转换成极坐标 (r,thet);
取整运算
static double floor(double a) 取整,返回小于目标数的最大整数。
static double ceil(double a) 取整,返回大于目标数的最小整数。
static long round(double a) 四舍五入取整乘方、开方、

指数运算:
static double sqrt(double a) 计算平方根。
static double cbrt(double a) 计算立方根。
static double exp(double a) 返回欧拉数 e 的n次幂。
static double hypot(double x,double y) 返回 sqrt(x +y)
static double IEEEremainder(doublef1, double f2)按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double pow(double a,double b) 计算乘方
static double log(double a) 计算自然对数
static double log10(double a) 计算底数为 10 的对数。
static double log1p(double x)返回参数与 1 之和的自然对数

符号相关的方法:
static double abs(double a) 计算绝对值。
static doublecopySign(doublemagnitude, doublesign)符号赋值,返回带有第二个浮点数符号的第一个浮点参数。
static double signum(double d)符号函数;如果参数为 0,则返回0;如果参数大于 0,则返回1.0;如果参数小于 0,则返回-1.0

大小比较相关的方法:
static double max(double a,double b) 找出最大值
static double min(double a,double b) 计算最小值
static doublenextAfter(double
start, doubledirection)返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static double nextUp(double d) 返回比目标数略大的浮点数
static double random() 返回一个伪随机数,该值大于等于0.0 且小于 1.0。

					Random类

Random类专门用于生成一个伪随机数的类,其产生的随机数是根据种子和顺序决定的;
ThreadLocalRandom类是Java 7新增的一个类,它是Random的增强版。在并发访问的环境下,呆证系统
具有更好的线程安全性。

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

常用方法
boolean nextBoolean() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
void nextBytes(byte[]bytes) 生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0和 1.0 之间均匀分布的 double 值。
float nextFloat() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0和 1.0 之间均匀分布的 float 值。
double nextGaussian()返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是1.0。
int nextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n)返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
long nextLong()返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
void setSeed(longseed) 使用单个 long 种子设置此随机数生成器的种子。常用方法

为什么说Random生成的随机数是伪随机数?
只要两个Random对象的种子相同,而且方法的调用顺序也相同,产生的随机数相同;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值