飞道的博客

【Java】基础14:Scanner类、Random类、ArrayList类

360人阅读  评论(0)

先复习下前几天学过的知识:

JVM:Java虚拟机,运行Java程序的假想计算机。

JRE:Java的运行环境,包括JVM和核心类库。

JDK:Java的开发工具包,包括JRE和开发人员使用的工具。

那么JRE中的核心类库到底是啥?

这几天就学学这个核心类库。

一、Scanner类

Scanner,翻译成中文就是“扫描仪”的意思。

顾名思义,也就是说通过这个类,我们可以直接通过键盘输入我们想运行的数值。

就比如计算1到100的数值之和,如果要计算1到50的呢?就得修改Java代码,但若是有了Scanner,直接在键盘上修改数值就可以了。

Scanner是一个工具类,是Java已经存在的一个类,不需要我们自己再去建一个类,直接调用就可以了。

  • import:导包关键字。

    import导包(导入Scanner工具类)。

  • ②新建Scanner对象。

    格式:类名 对象名=new 类名(参数)。

  • ③用对象调用Scanner类的成员方法:

    scanner.nextInt()。

  • ④在控制台上输入数字。

    这个数字会被③步骤中的成员方法获取到。

  • ⑤打印这个数字。

二、Random类

Random,翻译成中文就是“随机的”的意思。

顾名思义,也就是说通过这个类,可以获取一个随机数。

Random是一个工具类,是Java已经存在的一个类,不需要我们自己再去建一个类,直接调用就可以了。

步骤:

  • ①import导包(Random工具类)。

  • ②新建随机数(Random)对象。

    格式:类名 对象名=new 类名(参数)。

    参数表示随机数的范围,比如参数为10即表示10以内**(不包括10)的随机数,100即表示100以内(不包括100)**的随机数。

  • ③调用随机数(Random)成员方法。

    random.nextInt(参数)

  • ④打印随机数。

思考:

既然new Random(10)表示10以内(也就是0到9)的随机数,那我若是要10到100呢?

  • 首先确定一共有多少个数字,10到100有91个(注意是91而不是90个),那么就是new Random(91)。
  • 其次new Random(91)表示的是0到90的随机数。
  • 最后new Random(91)+10就是表示的10到100的随机数了。

小结练习:猜数字小游戏

游戏开始时,会随机生成一个1-100之间的整数number 。玩家猜测一个数字guessNumber,会与number 作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。

分析

  • 需要建立随机数对象和scanner对象。
  • 因为需要猜一或多次才能猜中,故需要用到循环结构。
  • 因为不确定需要猜几次才能猜中,故用while循环。
  • 需要将随机数和猜的数值比较,故要用到if选择结构。

编写代码如下:

①新建random对象。

②获取1到100的随机数。

③新建scanner对象。

④提示用户输入数字,并设定循环结构。

⑤获取用户输入的数字。

⑥比较输入数字和随机数的大小。

思考:

设定的循环结构为死循环,在用if选择语句判断时,若是两个数不相等,用continue跳出此次循环,继续下次循环;若是猜对了,用break结束循环,循环结束;

后来发现自己完全想多了,不用这两个关键字也可以。

scanner对象在调用nextIn()方法时,控制台会让用户输入数字,会打断循环,并不会一直循环下去。

三、ArrayList类

ArrayList,这是Java里的一个集合。

前面学了数组,我们知道数组的一个特点,就是它的长度是固定的。

那ArrayList这个类就可以理解成一个长度可变的集合。

前几天学习,知道了一个数组直接打印出来的话,显示的是地址,但集合是可以直接打印的。

若是未初始化,打印出来就是一个空值;

若是初始化了,打印出来就是一个个元素,用中括号:[]装着这些元素

其中添加元素的方法为list.add()

那么ArraryList这个集合还有哪些常用的方法呢?

  • get(索引):获得集合对应索引位的元素。
  • size():获得集合的大小(一共多少个元素)。
  • remove(索引):移除集合中对应索引位的元素。
  • contains(“元素”):判断几个中是否包含该元素。

附:

ArrayList list中:String表示集合中存储的元素类型为String;是引用数据类型,集合只能存储引用数据类型,不能用于存储基本数据类型。

比如ArrayList list这样写是不对的

那若是要存储基本数据类型,该怎么办?

这就需要将基本数据类型转换为一个包装类:

  • byte转换为Byte
  • short转换为Short
  • int转换为Integer(重点记忆)
  • long转换为Long
  • float转换为Float
  • double转换为Double
  • char转换为Character(重点记忆)
  • boolean转换为Boolean

总结:


转载:https://blog.csdn.net/qq_41228864/article/details/105816267
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场