final关键字和Math类猜数字小游戏及代码块

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 构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值