枚举:枚举指由一组固定的常量组成的类型
枚举使用实例:
需求说明
为同学们Java学习阶段定义枚举:L1、L2、L3,分别表示第一、二、三阶段
编程输出每个阶段的学习目标
L1:Java开发工程师
L2:大数据开发工程师
L3:大数据挖掘工程师
public enum JavaLearningStage { L1,L2,L3 }
public class JavaLearners { public void Learnstage(JavaLearningStage phase) { switch (phase) { case L1: System.out.println("Java开发工程师"); break; case L2: System.out.println("大数据开发工程师"); break; case L3: System.out.println("大数据挖掘工程师"); break; } } public static void main(String[] args) { JavaLearners javaLearners = new JavaLearners(); javaLearners.Learnstage(JavaLearningStage.L2); } } 包装类: 包装类把基本类型数据转换为对象 每个基本类型在java.lang包中都有一个相应的包装类 包装类的作用: 提供了一系列实用的方法 集合不允许存放基本数据类型数据,存放数字时,要用包装类型。 所有包装类都可以将与之对应的基本数据类型作为参数,来构造他们的实例。 public Type (type value){ Integer i = new Integer(1); } 除了Character类外(Char类型作为参数),其他包装类可以将一个字符串作为参数构造他们的实例。例如: Integer i = new Integer("123"); Character character = new Character('a'); 包装类的常用方法1:
- intValue():将Number对象转换为int类型的值。
- floatValue():将Number对象转换为float类型的值。
- doubleValue():将Number对象转换为double类型的值。
- longValue():将Number对象转换为long类型的值。
- byteValue():将Number对象转换为byte类型的值。
- shortValue():将Number对象转换为short类型的值。
包装类的常用方法2:
toString():以字符串形式返回包装对象表示的基本类型数据。
String sex = Character.toString('男');
String sex = '男' + "";
String id = Integer.toString(25);
String id = 25 + "";
在Java中,无论什么类型的数据与字符串相加,都会将其自动转换为字符串类型,然后再进行字符串拼接操作,最终得到一个字符串类型的结果。
包装类的常用方法3:
public static type parseType(String type)
parseXXX(): 把字符串转换成相应的基本数据类型数据(Character除外)。
int num = Integer.parseInt("36");
boolean bool = Boolean.parseBoolean("false");
包装类的常用方法4:
所有包装类都有如下方法:基本类型转换为包装类
public static Type valueOf(type value)
如:Integer intvalue = Integer.valueOf(21);
除Character类外,其他包装类都有如下方法:字符串转换为包装类
public static Type valueOf(String s)
如:Integer intvalue = Integer.valueOf("21");
装箱和拆箱
基本类型和包装类型的自动转换:
Integer intObject = 5; 装箱:基本类型转换为包装类对象
int intValue = intObject; 拆箱:包装类对象转换为基本类型的值
包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用。
Math类:
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)
Math.abs(-3.5); //返回3.5
Math.max(2.5, 90.5);//返回90.5
int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数
Note: (int)(-1.2) = -1; 舍弃小数部分
Random类:
java.util.Random类,生成随机数的其他方式。
nextInt()是Java中Random类的一个方法,用于生成一个随机的int类型的整数。这个方法有多种不同的用法,下面分别解释一下:
-
不带参数:若不传递参数,则会生成任意一个int类型的整数,即范围为整个int类型取值范围。
-
传递一个正整数n作为参数:则会生成一个介于0到n-1之间的随机整数。
-
不传递参数,但使用Random对象的nextInt()方法时,每次生成的随机数可能不同。如果在生成随机数时使用相同的Random对象和种子(即同一个随机数生成器实例),那么生成的随机数序列将是相同的。
import java.util.Random;
public class Example {
public static void main(String[] args) {
Random rand = new Random();
int randomInt1 = rand.nextInt(); // 不带参数,生成任意一个int类型的整数
int randomInt2 = rand.nextInt(10); // 生成介于0到9之间的随机整数
System.out.println("Random int without argument: " + randomInt1);
System.out.println("Random int with argument 10: " + randomInt2);
}
}
Random int without argument: -2007652806
Random int with argument 10: 3
要使用相同的种子生成随机数,需要在创建Random对象时使用相同的种子值,即传递给Random构造函数的参数相同。这样,在调用Random对象的nextInt()方法时,每次生成的随机数序列将是相同的。
import java.util.Random;
public class Example {
public static void main(String[] args) {
Random rand1 = new Random(1234); // 创建Random对象,使用种子值1234
Random rand2 = new Random(1234); // 创建Random对象,使用相同的种子值1234
int randomInt1 = rand1.nextInt(10); // 使用rand1生成介于0到9之间的随机整数
int randomInt2 = rand2.nextInt(10); // 使用rand2生成介于0到9之间的随机整数
System.out.println("Random int generated by rand1: " + randomInt1);
System.out.println("Random int generated by rand2: " + randomInt2);
}
}