-
枚举(Enum)
枚举是一种有确定值区间的数据类型,本质上是一个类,具有简洁、安全、方便等特点。
枚举的值被约束到了一个特定的范围内,只能从这个范围以内取值。
为什么要有枚举?
因为在描述某些对象的属性时,该属性的值不能随便定义(如一年只有四季、一周只有七天),必须在某个特定区间内取值。
出于对数据安全的考虑,类似这种有特定取值范围的数据,我们就可以使用枚举来描述。
枚举的组成
枚举由一组常量的类型指定一个取值区间,我们只能从该区间取值。
public enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
public class WeekT {
public Week week;
public WeekT(Week week) {
this.week = week;
}
@Override
public String toString() {
return "WeekT{" +
"week=" + week +
'}';
}
}
import java.util.Arrays;
import java.util.Iterator;
//描述某些对象的属性时,该属性的值不能随便定义(如一年只有四季、一周只有七天),必须在某个特定区间内取值。
//枚举由一组常量的类型指定一个取值区间,我们只能从该区间取值。
public class WeekTest {
public static void main(String[] args) {
Week[] weeks = Week.values();
Iterator iterator = Arrays.stream(weeks).iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
WeekT weekT = new WeekT(Week.SATURDAY);
System.out.println(weekT);
}
}
-
Math
public static void main(String[] args) { System.out.println("常量E:"+Math.E); System.out.println("常量PI:"+Math.PI); System.out.println("9的平方根:"+Math.sqrt(9)); System.out.println("8的立方根:"+Math.cbrt(8)); System.out.println("比较更大数:"+Math.max(1.5,1)); System.out.println("-8.5的绝对值:"+Math.abs(-8.5)); System.out.println("5.0000001向上取整:"+Math.ceil(5.0000001)); System.out.println("5.9999999向下取整:"+Math.floor(5.9999999)); System.out.println("生成0-1之间随机数:"+Math.random()); System.out.println("5.6四舍五入:"+Math.rint(5.6)); }结果:
常量E:2.718281828459045
常量PI:3.141592653589793
9的平方根:3.0
8的立方根:2.0
比较更大数:1.5
-8.5的绝对值:8.5
5.0000001向上取整:6.0
5.9999999向下取整:5.0
生成0-1之间随机数:0.7675491980283207
5.6四舍五入:6.0 -
Random
方法 描述 public Random() 创建一个无参的随机数构造器,使用系统时间作为默认种子 public Random(long seed) 使用long数据类型的种子创建一个随机数构造器 public boolean nextBoolean() 返回一个boolean类型的随机数 public float nextDouble() 返回一个double类型随机数,0.0-1.0之间 public float nextFloat() 返回一个float类型随机数,0.0-1.0之间 public int nextInt() 返回一个int类型随机数 public int nextInt() 返回一个int类型随机数,0-n之间 public long nextLong() 返回一个long类型的随机数
4.String
| 方法 | 描述 |
|---|---|
| public String() | 创建一个空的字符串对象 |
| public String(String value) | 创建一个值为value的字符串对象 |
| public String(char value[]) | 将一个char数组转换为字符串对象 |
| public String(char value[],int offset,int count) | 将一个指定范围的char数组转换为字符串对象(count为截取长度) |
| public String(byte value[]) | 将一个byte数组转换为字符串对象 |
| public String(byte value,int offset,int count) | 将一个指定范围的byte数组转换为字符串对象(count为截取长度) |
| public int length() | 获取字符串的长度 |
| public boolean isEmpty() | 判断字符串是否为空 |
| public char charAt(int index) | 返回指定下标字符 |
| public byte[] getBytes() | 返回字符串对应的byte数组 |
| public boolean equals(Object o) | 判断两个字符串值是否相等 |
| public boolean equalsIgnoreCase(Object o) | 判断两个字符串是否相等(忽略大小写) |
| public int compareTo(String value) | 比较两个字符串,返回差值 |
| public int compareToIgnoreCase(String value) | 比较两个字符串,返回差值(忽略大小写) |
| public boolean startWith(String value) | 判断字符是否以value开头 |
| public boolean endWith(String value) | 判断字符是否以value结尾 |
| public int hashCode() | 返回哈希值 |
| public int indexOf(String str) | 返回下标 |
| public int indexOf(String str,int formIndex) | 从指定位置开始查找下标 |
| public String subString(int beginIndex) | 从指定位置开始截取字符串 |
| public String subString(int beginIndex,int endIndex) | 截取指定区间的字符串 |
| public String concat(String str) | 追加字符串 |
| public String replaceAll(String o,String n) | 将字符串中所有o替换为n |
| public String[] split(String regex) | 用指定字符分割,返回数组 |
| public String toLowerCase() | 转小写 |
| public String toUpperCase() | 转大写 |
| public char[ ] toCharArray() | 将字符串转为字符数组 |
-
字符串中的空不等于Null
Null是引用的内容不存在(不指向任何对象),不指向任何对象。
空是指引用指向某个对象,但是对象的内容为空。


![[Java基础]Java实用类:枚举(Enum)、Math、Random、String的方法介绍 [Java基础]Java实用类:枚举(Enum)、Math、Random、String的方法介绍](http://www.mshxw.com/aiimages/31/827065.png)
