今天去实习笔试了所以分享的会少一点
是一种有确定值区间的数据类型,本质上就是一个类,具有简洁,安全,方便等特点。
为什么要用枚举呢:描述某些对象属性时,该属性的值不能随便定义,必须在某个特定的区间内取值。出于对数据安全性的考虑,类似有特定取值范围的数据。
枚举指的是由一组常量组成的类型,只能从该区间取值
代码:
package UsefulClass;
public class Week {
public static final int MON =1 ;
public static final int TUE =2 ;
public static final int WED =3 ;
public static final int THU =4 ;
public static final int FRI =5 ;
public static final int SAT =6 ;
public static final int SUN =7 ;
}
这样去列举有没有觉得很麻烦?
如果给你100个数据呢?
哈哈哈哈~
我们可以采用枚举Enum,如下所示:
package UsefulClass;
public enum Week1 {
MON1,TUE1,WED1,THU1,FRI1,SAT1,SUN1;
}
package UsefulClass;
public class Week {
public static void main(String[] args) {
System.out.println(Week1.MON1);
System.out.println(Week1.MON1.ordinal());
}
}
这样我就能输出枚举的名字以及值,这里的MON是0,大家可以在枚举类里重新定义哦~
Math为开发者提供了一系列数学方法,同时还提供了两个静态常量E(自然对数的底数)和PI(圆周率)
这个我不多说,考的不多
用来产生随机数的类,并且可以任意指定一个区间,在这个区间范围产生随机数
举个例子:
package UsefulClass;
import java.util.Random;
public class TEST {
public static void main(String[] args) {
Random random = new Random();
// 生成订单编号(时间戳+随机数)
for (int i = 1; i <= 10000; i++) {
System.out.println("订单"+i+"的编号是:"+System.currentTimeMillis()+random.nextInt(100000)+100000);
}
}
}
一般我们用代码中的方式生成订单编号,因为这样出来的数据是肯定没有重复的,且可以无限大,currentTimeMIllis()是一个方法,调用的是从1970年1月1日到现在的时间的毫秒数,它一直在变。
String类是重点,这里我只讲一部分,剩下的明晚讲。
JAVA通过String类来创建和操作字符串数据
package UsefulClass;
public class TestString {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1 == str2);
String str3 = new String("Hello");
String str4 = new String("Hello");
System.out.println(str3 == str4);
}
}
你会发现一个结果是true 另一个是false,答案就在上两幅图中,==表示的是一个地址,而创建str1的时候,它会优先在string常量池中找“hello”,找不到就创建一个,然后把地址给了栈,当你创建第二个str2的时候,也是找hello,这次找到了之前创建的,它会直接把地址给str2,导致两个变量地址相同所以是true;而第二个结果是因为,new一个对象就会有不同的地址,所以是false。
ps: == 如果是基本数据类型判断的是值,如果是引用类型判断的是地址