Java基础&常用API(1)

简介: Java基础&常用API(1)

1:API 概述


1.1 API概述和课程安排


我们在讲解面向对象的时候,提到了学习面向对象重点就是学习两块内容:

  1. 学习如何自己设计对象并使用
  2. 学习获取已有对象并使用

第一块:学习如何自己设计对象并使用


第二块:学习获取已有对象并使用


而关于第一块知识:学习如何自己设计对象并使用,我们现在已经有一些基础了。


通过前面的学习呢,我们知道了如何定义类,并通过构造方法创建对象,然后通过对象使用成员变量和成员方法。


接下来,我们要学习的是第二块知识:获取已有对象并使用。而获取已有对象并使用呢,在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();
    }
}

在这里我们讲解了导包的三种方式:

  1. 手动导包
  2. 快捷键导包
  3. 写一个类,写一部分的时候,如果给出了对应的提示,回车后会自动导包


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;
            }
        }
    }
}
相关文章
|
12天前
|
安全 Java 大数据
|
10天前
|
设计模式 Java API
Java 可扩展 API 设计:打造灵活的应用架构
【4月更文挑战第27天】设计可扩展的 API 是构建灵活、易于维护的应用程序架构的关键。Java 提供了丰富的工具和技术来实现这一目标,使开发者能够构建具有高度可扩展性的应用程序。
30 4
|
6天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【5月更文挑战第1天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的函数式编程语法,可以简化代码并提高可读性。Stream API是一种用于处理集合的新工具,可以方便地进行数据操作和转换。通过结合Lambda表达式和Stream API,我们可以更加简洁高效地编写Java代码。
|
10天前
|
Java API 开发者
【专栏】Java 8新特性之Stream API详解
【4月更文挑战第27天】Java 8的Stream API是处理集合数据的新方式,强调简洁和声明式编程。它基于延迟执行和惰性求值,提供创建、中间操作(如filter、map)和终端操作(如forEach、collect)。示例展示了如何通过Stream排序、过滤、映射和聚合数据。
|
12天前
|
存储 SQL Java
Java8 Stream API 详解:流式编程进行数据处理
Java8 Stream API 详解:流式编程进行数据处理
|
13天前
|
前端开发 Java API
JavaSE&Java8 时间日期API + 使用心得
JavaSE&Java8 时间日期API + 使用心得
14 0
|
13天前
|
Java API
Java基础&API(3)
Java基础&API(3)
15 1
|
13天前
|
Java API 索引
Java基础&API(2) String、StringBuilder详解
Java基础&API(2) String、StringBuilder详解
|
Java API
Java 8 Stream API详解
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/47038607 Java ...
980 0
|
8天前
|
存储 缓存 运维
DataWorks操作报错合集之DataWorks根据api,调用查询文件列表接口报错如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
20 1