一、本单元知识点概述

(Ⅰ)知识点概述

二、本单元教学目标

(Ⅰ)重点知识目标

1.API的使用
2.Scanner类的使用步骤
3.Random类的使用

(Ⅱ)能力目标

1.掌握API的使用步骤
2.使用Scanner类获得键盘录入数据
3.能够使用Random类生成随机数

三、本单元知识详讲

10.1 API

10.1.1 API概述★★

  • 概述:API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学 习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

10.1.2 API使用步骤★★

  1. 打开帮助文档。

  2. 点击显示,找到索引,看到输入框。

  3. 你要找谁?在输入框里输入,然后回车。

  4. 看包。java.lang下的类不需要导包,其他需要。

  5. 看类的解释和说明。

  6. 学习构造方法。

  7. 使用成员方法。

10.2 Scanner类

  • 一个可以解析基本类型和字符串的简单文本扫描器。

10.2.1 Scanner类的使用★★★

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

10.2.2 导包★★

使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格 式:

import 包名.类名;

举例:

java.util.Scanner;

10.2.3 创建对象★★★

使用该类的构造方法,创建一个该类的对象。 格式:

数据类型 变量名 = new 数据类型(参数列表);

举例:

Scanner sc = new Scanner(System.in);

10.2.4 调用方法★★★★

调用该类的成员方法,完成指定功能。 格式:

变量名.方法名();

举例:

int i = sc.nextInt(); // 接收一个键盘录入的整数

10.2.5 查看类★★

  • java.util.Scanner:该类需要import导入后使用。

10.2.6 查看构造方法★★★

  • public Scanner(InputStream source) : 构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。

10.2.7 查看成员方法★★★

  • public int nextInt():将输入信息的下一个标记扫描为一个 int值。

  • 使用Scanner类,完成接收键盘录入数据的操作,代码如下

 1 //1. 导包
2 import java.util.Scanner;
3 public class Demo01_Scanner {   
4 public static void main(String[] args) {        
5 //2. 创建键盘录入数据的对象   
6 Scanner sc = new Scanner(System.in);    
7 //3. 接收数据   
8 System.out.println("请录入一个整数:");     
9 int i = sc.nextInt();
10 //4. 输出数据  
11 System.out.println("i:"+i);    
12 }
13 }

使用 this 修饰方法中的变量,解决成员变量被隐藏的问题,代码如下:

 1 public class Student {
2 private String name;
3 private int age;
4 public void setName(String name) {
5 //name = name;
6 this.name = name;
7 }
8 public String getName() {
9 return name;
10 }
11 public void setAge(int age) {
12 //age = age;
13 this.age = age;
14 }
15 public int getAge() {
16 return age;
17 }
18 }

10.2.8 求和练习★★★

键盘录入两个数据并求和,代码如下:

 1 import java.util.Scanner;
2 public class Test01Scanner {   
3 public static void main(String[] args) {   
4 // 创建对象
5 Scanner sc = new Scanner(System.in);    
6 // 接收数据    
7 System.out.println("请输入第一个数据:");    
8 int a = sc.nextInt();     
9 System.out.println("请输入第二个数据:");     
10 int b = sc.nextInt();     
11 // 对数据进行求和
12     int sum = a + b;
13  System.out.println("sum:" + sum);
14 }
15 }

10.2.9 取最值练习★★★

键盘录入三个数据并获取大值,代码如下:

 1 import java.util.Scanner;
2 public class Test02Scanner {   
3 public static void main(String[] args) {    
4 // 创建对象    
5 Scanner sc = new Scanner(System.in);     
6 // 接收数据     
7 System.out.println("请输入第一个数据:");     
8 int a = sc.nextInt();    
9 System.out.println("请输入第二个数据:");     
10 int b = sc.nextInt();     
11 System.out.println("请输入第三个数据:");     
12 int c = sc.nextInt();      
13 // 如何获取三个数据的大值     
14 int temp = (a > b ? a : b);     
15 int max = (temp > c ? temp : c);       
16 System.out.println("max:" + max);   
17 }
18 }

10.2.10 匿名概念★★

创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用 场景非常有限。

格式:

new 类名(参数列表);

举例:

new Scanner(System.in);

10.2.11 应用场景★★★

1.创建匿名对象直接调用方法,没有变量名。

new Scanner(System.in).nextInt(); 

2.一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。

new Scanner(System.in).nextInt();
new Scanner(System.in).nextInt();
小贴士:一个匿名对象,只能使用一次。

3.匿名对象可以作为方法的参数和返回值

  • 作为参数:

 1 class Test {     
2 public static void main(String[] args) {      
3 // 普通方式            
4 Scanner sc = new Scanner(System.in);           
5 input(sc);
6
7 //匿名对象作为方法接收的参数         
8 input(new Scanner(System.in));     
9 }   
10 public static void input(Scanner sc){         
11 System.out.println(sc);        
12 }   
13 }
  • 作为返回值:

 1 class Test2 {     
2 public static void main(String[] args) {         
3 // 普通方式             
4 Scanner sc = getScanner();      
5 }        
6 public static Scanner getScanner(){            
7 //普通方式         
8 //Scanner sc = new Scanner(System.in);           
9 //return sc;                
10 //匿名对象作为方法返回值         
11 return new Scanner(System.in);
12 }     
13 }

10.3 Random类

此类的实例用于生成伪随机数。 例如,以下代码使用户能够得到一个随机数:

Random r = new Random();
int i = r.nextInt();

10.3.1 Random 使用步骤★★★

查看类

  • java.util.Random :该类需要 import导入使后使用。

查看构造方法

  • public Random() :创建一个新的随机数生成器。

查看成员方法

  • public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n(不包括)之间的 int值。

使用Random类,完成生成3个10以内的随机整数的操作,代码如下:

 1 //1. 导包
2 import java.util.Random;
3 public class Demo01_Random {   
4 public static void main(String[] args) {            
5 //2. 创建键盘录入数据的对象         
6 Random r = new Random();           
7 for(int i = 0; i < 3; i++){             
8 //3. 随机生成一个数据             
9 int number = r.nextInt(10);             
10 //4. 输出数据             
11 System.out.println("number:"+ number);         
12 }            
13 }
14 }

10.3.2 练习获取随机数★★★

获取1-n之间的随机数,包含n,代码如下:

 1 // 导包
2 import java.util.Random;
3 public class Test01Random {   
4 public static void main(String[] args) {     
5 int n = 50;      
6 // 创建对象     
7 Random r = new Random();     
8 // 获取随机数     
9 int number = r.nextInt(n) + 1;     
10 // 输出随机数     
11 System.out.println("number:" + number);   
12 }
13 }

10.3.3 猜数字小游戏★★★

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

 1 // 导包
2 import java.util.Random;
3 public class Test02Random {   
4 public static void main(String[] args) {     
5 // 系统产生一个随机数1‐100之间的。     
6 Random r = new Random();     
7 int number = r.nextInt(100) + 1;     
8 while(true){       
9 // 键盘录入我们要猜的数据       
10 Scanner sc = new Scanner(System.in);       
11 System.out.println("请输入你要猜的数字(1‐100):");       
12 int guessNumber = sc.nextInt();         
13 // 比较这两个数据(用if语句)       
14 if (guessNumber > number) {         
15 System.out.println("你猜的数据" + guessNumber + "大了");
16 } else if (guessNumber < number) {         
17 System.out.println("你猜的数据" + guessNumber + "小了");       
18 } else {         
19 System.out.println("恭喜你,猜中了");         
20 break;       
21 }     
22 }   
23 }
24 }

四、本单元知识总结

1.API的概述及使用步骤
2.使用Scanner类获取键盘录入的数据
3.使用Random类实现生成随机数

☠全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👾#010 #第十单元 Scanner类、Random类 #的更多相关文章

  1. 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制

    大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...

  2. PHP开发人员对JAVA的WEB开发入门(初版-基础知识)

    最近准备对其他部门PHP开发的童鞋做一个对JAVA的培训.知己知彼,百战不殆,我要先了解点PHP,才能确认他们的基础,达到好的授课效果. PHP(原始为Personal Home Page的缩写,后正 ...

  3. 🤩全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👻002 # 第二单元 常量,变量,数据类型 #

    一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.定义出各种数据类型的变量2.理解自动类型提升3.理解强制类型转换 (Ⅱ)能力目标 1.能够定义出所有类型的常量 2.理解Java中的基本数 ...

  4. 全套Java教程_Java基础入门教程,零基础小白自学Java必备教程 #011 # 第十一单元 String&ArrayList #

    一.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.ArrayList集合的常用方法2.ArrayList存储数据和遍历数据3.String类的构造方法4.String ...

  5. 🧚‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👨‍💻004 # 第四单元 流程控制语句上 #

    一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.if语句的格式及执行流程2.switch语句的格式及执行流程 (Ⅱ)能力目标 1.掌握if语句的格式及执行流程2.掌握switch语句的格 ...

  6. Java学习_Java快速入门

    Java简介 安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录.在Windows下,它是安装目录,类似: C:\Program Files\Java\jdk-15 把J ...

  7. python基础入门之函数基础

    **python函数**一.def语名 def语名在运行的时候创建一个新的函数对象并且赋值一个变量名 一个def语句可以出现在任一语句可以出现的地方(python中所有的语名都是实时运行的,没有编译这 ...

  8. Java学习关于随机数工具类--Random类

    Random类是伪随机数生成器.之所以称为伪随机数(pseudorandom),是因为它们只是简单的均匀分布序列.Random类定义了以下构造函数: Random() Random(long seed ...

  9. Asky极简教程:零基础1小时学编程,已更新前8节

    Asky极简架构 开源Asky极简架构.超轻量级.高并发.水平扩展.微服务架构 <Asky极简教程:零基础1小时学编程>开源教程 零基础入门,从零开始全程演示,如何开发一个大型互联网系统, ...

随机推荐

  1. ARP协议工作原理实验

    一.实验目的 验证"在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址:如果缓存中没有IP对 ...

  2. 1TB是多大?

    TB是计算机的存储单位,用来描述计算机的存储容量.另外还有GB.MB.KB.B.就像长度单位米.分米.厘米.毫米一样,它们之间有换算关系: 1KB = 1024B 1M = 1024KB 1GB = ...

  3. 项目中经常用到的sass语法汇总

    1.定义变量 使用:$(符号定义变量) 注意:使用时要带有'$'符号,定义变量的方式与PHP相同 $变量:数值; $color_r : red; div{ color:$color_r; } 2.if ...

  4. MySQL5.7.24 安装

    官网地址 https://dev.mysql.com/downloads/mysql/ 1. 安装依赖 yum install -y cmake make gcc gcc-c++ libaio ncu ...

  5. NX二次开发-使用NXOPEN C++向导模板做二次开发

    版本 NX9+VS2012 1.怎么往VS软件里添加VC,C#,VB向导模板 先到NX安装目录下UGOPEN文件夹里找到这三个文件夹 拷贝到VS的安装目录下 这里有几个注意事项,VS2017,VS20 ...

  6. 从synchronize到CSA和

    目录 导论 悲观锁和乐观锁 公平锁和非公平锁 可重入锁和不可重入锁 Synchronized 关键字 实现原理 Java 对象头 Monitor JVM 对 synchronized 的处理 JVM ...

  7. kubeadm方式搭建K8S集群

    一.kubeadm介绍 二.安装要求 三.集群规划 四.环境初始化(在每个服务器节点操作) 1.关闭防火墙 2.关闭selinux 3.关闭swap 4.根据规划设置主机名 5.在Master添加ho ...

  8. python实现遥感图像阈值分割

    1.阈值分割 import os import cv2 import numpy as np import matplotlib.pyplot as plt from osgeo import gda ...

  9. Ordering the Soldiers 题解

    CodeChef:ORDERS 简化题意: \(n\) 个人排队,给定每个人需要向左移动几个,求最终排列. 即还原逆序对. 错误想法 既然知道每个人向左移动 \(a_i\) 个,那就相当于让他的排名 ...

  10. Selenium自动化实现web自动化-1

    框架搭建 基于maven+jdk8+junit5+seleium 构建 <dependencies> <dependency> <groupId>org.junit ...