文章目录
- 1:API 概述
- 1.1 API概述和课程安排
- 1.2 包和导包
- 2:Scanner
- 2.1 Scanner基本使用
- 2.2 练习(数据求和)
- 3:Random
- 3.1 Random基本使用
- 3.2 练习(猜数字游戏)
1:API 概述
1.1 API概述和课程安排
我们在讲解面向对象的时候,提到了学习面向对象重点就是学习两块内容:
- 学习如何自己设计对象并使用
- 学习获取已有对象并使用
第一块:学习如何自己设计对象并使用
第二块:学习获取已有对象并使用
而关于第一块知识:学习如何自己设计对象并使用,我们现在已经有一些基础了。
通过前面的学习呢,我们知道了如何定义类,并通过构造方法创建对象,然后通过对象使用成员变量和成员方法。
接下来,我们要学习的是第二块知识:获取已有对象并使用。而获取已有对象并使用呢,在Java中我们习惯称之为常用API的学习。
所以下面我们来学习常用API。首先,我们来说一下什么是API:
- API(Application Programming Interface) :应用程序编程接口
那如何理解应用程序编程接口呢?这里我们通过下面的场景给大家解释一下。
看这里,我想编写一个机器人踢足球的程序,那么程序就要向机器人发出向前跑、向后跑、射门、抢球等各种命令。
如果我自己来编写呢,就会比较麻烦,因为机器人不是我设计的。所以,为了方便其他的开发者使用机器人,
机器人厂商会提供一些用于控制机器人的类,这些类中会定义好操作机器人各种动作的方法。
有了这些类之后,开发一个机器人踢足球的程序就会非常的方便了。
其实,这些类就是机器人厂商提供给开发者的应用程序编程接口,而这些类我们称之为:API
知道了什么是API之后呢,我们来说一下,Java
的 API
。
- Java API :指的就是
JDK
中提供的各种功能的Java
类。
这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,
为了帮助我们使用这些类,Java 还提供了对应的帮助文档。我们可以通过帮助文档来学习这些API如何使用
下面呢,我们一起来学习一下帮助文档的使用:
要想使用帮助文档,首先我们得有一个帮助文档:我们这里有一个帮助文档。
这个文档对应的是 JDK11
版本的,是目前比较新的中文版的帮助文档。
有了文档之后呢,我们来打开帮助文档。
文档打开后,找到索引这里,下面有一个输入框,在这个框框里输入我们要学习的API。
这里,我们拿字符串类做一个说明:在这个框框里面我们输入:String
,然后一回车,看到一个新的界面
这个界面中,就是关于String相关的知识了。
接着,我们来说一下,在学习一个API的时候,我们重点要看四个地方:
第一个地方:看类所在的包
为什么要看这里呢,因为java.lang包下的类,我们是可以直接使用的,不需要导包。
其他包下的类,我们都是要导包后才能使用的,至于如何导包,下个知识我们会讲解。
很明显,String类在使用的时候,我们是不需要导包的。
第二个地方:看类的描述
也就是看这里,这里一般描述了类是干什么的。
比如说:String类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。
告诉了我们String就是用来表示字符串的类,直接写一个字符串数据:abc就是String类的一个对象。
第三个地方:看类的构造方法
往下滑,这就是String类的构造方法,为什么要看构造方法呢?因为我们在使用一个类的时候,其实使用的是该类的对象,
而创建对象,我们是需要通过构造方法实现的,所以,我们得看看它提供了哪些构造方法。
这里的构造方法提供的比较多,至于用哪个,后面我们用到的时候再讲解,目前知道看哪里就行了
第四个地方:看类的成员方法
这是我们学习一个API的重点,我们之所以学习一个API,重点就是为了使用该API来完成某些功能。
而API的功能,都是通过一个个方法实现的,所以我们重点得看看类的成员方法。往下滑,这就是String提供的成员方法,有很多。
而一个方法,我们重点又看什么呢?回到第一个方法,我们说一下:
返回值类型 方法名和参数 方法功能的描述
先看描述,通过描述,我们就知道了方法是干什么的。
再看方法名和参数,这样我们就知道调用哪个方法,以及参数的类型和个数。
最后,我们看返回值类型,这样我们就知道调用该方法后,最终给我们返回了一个什么类型结果
通过这些步骤,我们就知道了所学习的API该如何使用了,然后就可以到IDEA中去使用API了。
知道了帮助文档的使用步骤后,回到资料我们总结一下帮助文档的使用流程:
① 打开帮助文档
② 找到索引选项,输入要学习的API,然后回车
③ 看类所在包:因为java.lang包下的类在使用的时候不需要导包
④ 看类的描述:这样我们就知道了类是干什么的
⑤ 看类的构造方法:这样我们就可以创建对象了
⑥ 看类的成员方法:这样我们就可以通过这些方法完成某些功能了
首先,我们学习一下包和导包的基本概念和操作,为API的使用做一个基础铺垫
接着我们来学习两个API:Scanner
和 Random
Scanner:是用来实现键盘录入数据的
Random:是用来产生随机数的
通过这两个 API 的学习,可以让我们熟悉帮助文档的使用
1.2 包和导包
来,继续啊,下面我们来学习一下,包和导包。
那什么是包呢?
- 包其实就是文件夹
- 作用:对类进行分类管理
包的定义格式:
- 格式:package 包名;
- 注意:包名一般是公司域名反写,并且多级包用.分开
- 举例:www.csdn.com
- 范例:package com.csdn;
知道了如何定义包之后,下面我们来定义两个包,并且在不同包下定义同名的类。
package com.csdn;
public class Student {
public void study() {
System.out.println("好好学习天天向上");
}
}
package com.csdn;
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.study();
}
}
package com.csdn;
public class StudentTest {
public static void main(String[] args) {
com.csdn.Student s = new com.csdn.Student();
s.study();
com.csdn.Student s2 = new com.csdn.Student();
s2.study();
}
}
在这里我们讲解了同一个包下类的使用,以及不同包下类的使用。发现不同包下类的使用太麻烦了,所以,这个时候,我们就要学习一下导包了。
使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了。
为了简化带包的操作,Java就提供了导包的功能。
导包的格式:
- 格式:import 包名;
- 范例:import com.itheima.Student;
知道了如何导包后,我们再来修改一下不同包下类的使用代码:
package com.csdn;
import com.csdn.Student;
//Alt+Enter 快捷键导包
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.study();
Student s2 = new Student();
s2.study();
// com.csdn.Student s = new com.csdn.Student();
// s.study();
//
// com.csdn.Student s2 = new com.csdn.Student();
// s2.study();
}
}
在这里我们讲解了导包的三种方式:
- 手动导包
- 快捷键导包
- 写一个类,写一部分的时候,如果给出了对应的提示,回车后会自动导包
2:Scanner
2.1 Scanner基本使用
了解了API相关的知识后,下面我们来学习一下Scanner的使用。
通过查看帮助文档,我们知道了如下的信息:
Scanner:
- 一个简单的文本扫描程序,可以获取基本类型数据和字符串数据
构造方法:
- Scanner(InputStream source):创建 Scanner 对象
- System.in:对应的是InputStream类型,可以表示键盘输入
- Scanner sc = new Scanner(System.in);
成员方法:
- int nextInt():获取一个int类型的数据
- int i = sc.nextInt();
知道了Scanner的构造方法和成员方法后,我们到IDEA中去使用一下:
import java.util.Scanner;
/*
Scanner的基本使用
*/
public class ScannerDemo {
public static void main(String[] args) {
//Scanner(InputStream source):创建 Scanner 对象
Scanner sc = new Scanner(System.in);
//int nextInt():获取一个int类型的数据
System.out.println("请输入一个整数:");
int i = sc.nextInt();
//输出获取到的数据
System.out.println("你输入的数据是:" + i);
}
}
2.2 练习(数据求和)
需求:键盘录入两个整数,求两个数据和,并在控制台输出求和结果
首先,我们来简单的分析一下:
分析:
① 创建键盘录入数据对象
② 通过键盘录入数据对象调用 nextInt()
方法获取数据
③ 对获取的两个整数求和
④ 在控制台输出求和结果
分析完毕后,我们到 IDEA 中去实现一下:
/*
需求:键盘录入两个整数,求两个数据和,并在控制台输出求和结果
分析:
1:创建键盘录入数据对象
2:通过键盘录入数据对象调用nextInt()方法获取数据
3:对获取的两个整数求和
4:在控制台输出求和结果
*/
public class ScannerTest {
public static void main(String[] args) {
//创建键盘录入数据对象
Scanner sc = new Scanner(System.in);
//通过键盘录入数据对象调用nextInt()方法获取数据
System.out.println("请输入第一个整数:");
int firstNumber = sc.nextInt();
System.out.println("请输入第二个整数:");
int secondNumber = sc.nextInt();
//对获取的两个整数求和
int sum = firstNumber + secondNumber;
//在控制台输出求和结果
System.out.println("求和结果是:" + sum);
}
}
3:Random
3.1 Random基本使用
来,继续啊,下面我们来学习一下Random的使用。
通过查看帮助文档,我们知道了如下的信息:
Random:
- 该类的实例用于生成随机数
构造方法:
- Random():创建一个新的随机数生成器
成员方法:
- int nextInt(int bound):获取一个int类型的随机数,参数bound表示获取到的随机数在[0,bound)之间
知道了Random的构造方法和成员方法后,我们到IDEA中去使用一下:
import java.util.Random;
/*
Random的基本使用
*/
public class RandomDemo {
public static void main(String[] args) {
//Random():创建一个新的随机数生成器
Random r = new Random();
//int nextInt(int bound):获取一个int类型的随机数,参数bound表示获取到的随机数在[0,bound)之间
// int i = r.nextInt(10);
// System.out.println(i);
// for (int i=1; i<=10; i++) {
// int j = r.nextInt(10);
// System.out.println(j);
// }
//需求:如何获取1-100之间的随机数呢?
// int number = r.nextInt(100);//0-99
// int number = r.nextInt(101);//0-100
int number = r.nextInt(100) + 1;
System.out.println(number);
}
}
3.2 练习(猜数字游戏)
需求:系统自动产生一个1-100之间的整数,使用程序实现猜这个数字是多少?
猜的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
首先,我们来简单的分析一下:
分析:
① 使用Random获取一个1-100之间的整数
② 使用Scanner实现键盘录入猜的数据值
③ 使用if…else if…else 的格式实现猜数字,并给出对应的提示
分析完毕后,我们到IDEA中去实现一下:
import java.util.Random;
import java.util.Scanner;
/*
需求:系统自动产生一个1-100之间的整数,使用程序实现猜这个数字是多少?
猜的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
分析:
1:使用Random获取一个1-100之间的整数
2:使用Scanner实现键盘录入猜的数据值
3:使用if…else if…else 的格式实现猜数字,并给出对应的提示
*/
public class RandomTest {
public static void main(String[] args) {
//使用Random获取一个1-100之间的整数
Random r = new Random();
int number = r.nextInt(100) + 1;
System.out.println("系统已经产生了一个1-100之间的整数");
while (true) {
//使用Scanner实现键盘录入猜的数据值
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字:");
int guessNumber = sc.nextInt();
//使用if…else if…else 的格式实现猜数字,并给出对应的提示
if (guessNumber > number) {
System.out.println("你猜的数据" + guessNumber + "大了");
} else if (guessNumber < number) {
System.out.println("你猜的数据" + guessNumber + "小了");
} else {
System.out.println("恭喜你猜中了");
break;
}
}
}
}
本篇文章就到这里了,我们下篇文章见.