先复习下前几天学过的知识:
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