java中 匿名对象的说明及Random类概述和基本使用

Anonymous–匿名

创建对象的标准格式;
类名称 对象名 = new 类名称();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
格式;
new 类名称();

new Test();

这就是一个匿名对象,但是,在Java一般不这么使用,因为没有意义,因为这样写完后,由于没有对该对象进行引用,所以马上就被内存回收了,所以没有实际意义。

注意事项
匿名对象只能是用唯一一次,下次再使用不得不在创建一个新对象。
使用建议; 如果确定有一个对象只需要使用为一次,就可以用匿名对象。

匿名对象作为方法的参数和
任何数类型都可以作为方法的参数和返回值,匿名对象也能做参数和返回值。

Random类的概述和基本使用;

Random类是用来产生随机数字的(不确定的数字)

三个步骤;
1.导包
import java.util.Random
2.创建
Random r = new Random();// 小括号留空后即可。
3.使用
获取一个随机的 int 数字;
int num = r.nextInt();

Random 生成指定范围的随机数
获取一个随机的int 数字(参数代表了范围,左闭右开区间)
int num = r.nextInt(3);
实际的含义是;
[ 0.3) ,也就是0 -> 2 的数字。

Random 练习一

1.题目要求:

根据int变量n的值,来获取随机数字,范围是[1 , n],可以取到1也可以取到n。

思路:
1.定义一个int变量n,随意赋值
2.要使用Random:三个步骤,导包、创建、使用
3.如果写10,那么就是09,然而想要的是110,可以发现:整体+1即可。
4.打印随机数字

package LianxiDay1217.重回学Java3;
import java.util.Random;  //导包

public class Day1219Random3 {
    public static void main(String[] args) {
        int n = 5; //定义一个n为5的值
        Random r = new Random();//创建

        for (int i= 0; i<100; i++){ //for循环,循环100次
            //原本范围是【0,n),整体+1之后变成了【1,n+1),也就是【1,n)
            int result = r.nextInt(n) +1;//使用 : 这个+1要写在括号外面
            System.out.println(result);

        }
    }

}
2.题目要求:

用代码模拟猜数字的小游戏。
思路:
1.首先需要产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法
2.需要键盘输八,所以用到了Scanner
3.获取键盘输入的数字,用scanner当中的nextInt方法
4.已经得到了两个数字,判断(if)一下:
如果太大了,提示大大,并且重试;
如果太小了,提示小小,并且重试;
如果猜中了,游戏结束。
5.重试就是再来一次,循环次数不确定,用while(true)。

package LianxiDay1217.重回学Java3;
import java.util.Random; //导包
import java.util.Scanner; //导包
public class Day1219Random4Game {
    public static void main(String[] args) {
        Random r = new Random();  //创建Random
        int randomNum = r.nextInt(100) +1; //[1,100]  //使用
        Scanner sc = new Scanner(System.in); //创建Scanner

        while(true){
            System.out.println("请输入你猜的数字:");
            int guessNum = sc.nextInt(); //使用Scanner,这个格式记住,
            //键盘输入猜测的数字

            if(guessNum > randomNum){ //如果你猜测的guessNum数字大于随机数字random
                System.out.println("大大大了,重新输入");
            } else if(guessNum <randomNum){//如果你猜测的guessNum数字小于随机数字random
                System.out.println("小小小了,重新输入");
            } else{
                System.out.println("恭喜你,猜对了!");
                break;//如果猜中,不再重试
            }
            System.out.println("游戏结束");
        }
    }

}

运行结果;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王 -挺忙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值