final关键字和Math类猜数字小游戏及代码块
1.final关键字概述:
由于继承中有一个方法重写的现象,而有时候我们不想让子类去重写父类的方法.这对这种情况java就给我们提供了一个关键字: final
final关键字是最终的意思,可以修饰类,变量,成员方法。
2.final修饰的特点:
修饰类:被修饰的类不能被继承
修饰方法:被修饰的方法不能被重写
修饰变量:被修饰的变量不能被重新赋值,因为此时已经是一个常量
3.Math类随机数功能
1.获取随机数的方法
public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
示例:猜数字小游戏
public class Test {
public static void main(String[] args) {
int num = (int) (Math.random() * 100 + 1);
//猜数字小游戏
//给个需求:给用户10次机会,没猜一次,提示剩余次数。
int i=0;
while (i<10){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个你要猜的整数 1---100");
int userNum = sc.nextInt();
if (userNum > num) {
System.out.println("你猜大了");
} else if (userNum < num) {
System.out.println("你猜小了");
} else {
System.out.println("恭喜你,猜对了");
break;
}
System.out.println("剩余次数="+(9-i));
i++;
}
System.out.println("挑战结束");
}
4.代码块的理解与应用
A:代码块概述
在Java中,使用{}括起来的代码被称为代码块。
B:代码块分类
根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。
C:常见代码块的应用
a:局部代码块
在方法中出现;限定变量生命周期,及早释放,提高内存利用率
b:构造代码块
在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
c:静态代码块
在类中方法外出现,加了static修饰
在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
示例:
A:看程序写结果
class Student {
static {
System.out.println("Student 静态代码块"); //3
}
{
System.out.println("Student 构造代码块"); //4 6
}
public Student() {
System.out.println("Student 构造方法");//5 7
}
}
class StudentDemo {
static {
System.out.println("StudentDemo的静态代码块"); //1
}
public static void main(String[] args) {
System.out.println("我是main方法"); //2
Student s1 = new Student();
Student s2 = new Student();
}
}
示例结果:
StudentDemo的静态代码块
我是main方法
Student 静态代码块
Student 构造代码块
Student 构造方法
Student 构造代码块
Student 构造方法