API

概述

API(Application Programming Interface),应用程序编程接口。

Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档。

这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。

所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

离线API文档下载 提取码:uitw

API 使用步骤

  1. 打开帮助文档。
  2. 点击显示,找到索引,看到输入框。
  3. 你要找谁?在输入框里输入,然后回车。
  4. 看包。java.lang下的类不需要导包,其他需要。
  5. 看类的解释和说明。
  6. 学习构造方法。

引用类型使用步骤

  • 导包
  • 创建对象
  • 调用方法

匿名对象

创建对象的标准格式

类名称 对象名 = new 类名称();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符

new 类名称();
new 类名称().属性;
new 类名称().方法;

匿名对象只能使用唯一的一次!!

  • 可以当实参传给方法
  • 也可以作为返回值

Scanner类

Scanner类在基础语法发过了,传送门

Random类

概述

此类的实例用于生成伪随机数流。

如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

Random 类实现的算法使用一个 protected 实用工具方法,每次调用它最多可提供 32 个伪随机生成的位。

很多应用程序会发现 Math.random() 方法更易于使用。

构造方法

构造方法 说明
Random() 创建一个新的随机数生成器。
Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。

常用方法

方法摘要 描述
protected int next(int bits) 生成下一个伪随机数。
int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
long nextLong() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
float nextFloat() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
boolean nextBoolean() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
void setSeed(long seed) 使用单个 long 种子设置此随机数生成器的种子。
double nextGaussian() 返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。
void nextBytes(byte[] bytes) 生成随机字节并将其置于用户提供的 byte 数组中。

基本使用

  1. 导包

    import java.util.Random
  2. 创建对象

    Random r = new Random();
  3. 使用

    r.nextInt();

简单使用

package com;

import java.util.Random;
import java.util.Scanner; public class RandomTest {
public static void main(String[] args) {
// base();
// bound();
// exercise1();
exercise2(); } public static void base() {
Random r = new Random();
int i = r.nextInt();
// 不带参数将产生整数范围内的随机数 (正负21亿多)
System.out.println(i);
} public static void bound() {
Random r = new Random();
int i = r.nextInt(10);
// 带参数将产生[0,10) 即0~9的随机数
System.out.println(i);
} public static void exercise1() {
// 生成1-n 的随机数
Random r = new Random();
// 0~9的随机数整体+1 就成了1~10
int i = r.nextInt(10) + 1;
System.out.println(i);
} public static void exercise2() {
// 猜大小
Scanner sc = new Scanner(System.in);
Random r = new Random();
// 范围0-100
int target = r.nextInt(101);
int num = -1;
// System.out.println("答案"+target); do {
System.out.print("请输入一个数:");
num = sc.nextInt();
if (num > target) {
System.out.println("太大了");
} else if (num < target) {
System.out.println("太小了");
} else {
System.out.println("猜对了!");
}
} while (num != target);
}
}

ArrayList类

之前学习数组时,发现一个缺点!

数组一旦创建,就无法改变数组的长度。

概述

java.util.ArrayList大小可变的数组的实现

对于ArrayList来说,有一个尖括号代表泛型,泛型就是装在集合中的所有元素,必须是同一种类型。

注意:泛型只能是引用类型,不能是基本类型

构造方法

构造方法 说明
ArrayList() 构造一个初始容量为 10 的空列表。
ArrayList(Collection <? extends E> c) 构造一个包含指定 collection 的元素的列表,
这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表

常用方法

方法摘要 描述
int size() 返回此列表中的元素数。
boolean add(E e) 将指定的元素添加到此列表的尾部
void add(int index, E element) 将指定的元素插入此列表中的指定位置
E remove(int index) 移除此列表中指定位置上的元素。
boolean remove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
void clear() 移除此列表中的所有元素。
E get(int index) 返回此列表中指定位置上的元素。
boolean contains(Object o) 如果此列表中包含指定的元素,则返回 true。
int indexOf(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
int lastIndexOf(Object o) 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1
Object clone() 返回此 ArrayList 实例的浅表副本。
boolean isEmpty() 如果此列表中没有元素,则返回 true
boolean addAll(Collection<? extends E> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
boolean addAll(int index, Collection<? extends E> c) 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
void ensureCapacity(int minCapacity) 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
protected void removeRange(int fromIndex, int toIndex) 移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
E set(int index, E element) 用指定的元素替代此列表中指定位置上的元素。
Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
<T> T[] toArray(T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
void trimToSize() 将此 ArrayList 实例的容量调整为列表的当前大小

注意事项

  1. 养成面向接口编程的思维,ArrayList是List的实现类,即可以写成List list = new ArrayList();

父类引用指向子类对象,便于后期维护。可参考面向对象知识的多态

  1. 如果使用<E>泛型,不能指定八大基本数据类型,而是指定它们对应的封装类

    基本类型 封装类
    int Integer
    char Character
    byte Byte
    short Short
    long Long
    float Float
    double Double
    boolean Boolean

练习

  1. 生成6个1-33的随机数,添加到集合,并遍历集合

    package com;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random; public class ArrayListExercise {
    public static void main(String[] args) { exercise1(); } public static void exercise1() {
    List<Integer> list = new ArrayList<>();
    Random r = new Random();
    final int N = 6;
    for (int i = 0; i < N; i++) {
    int num = r.nextInt(33) + 1;
    list.add(num);
    } for (int i = 0; i < list.size(); i++) {
    System.out.print(list.get(i) + "\t");
    }
    System.out.println();
    for (Integer i : list) {
    System.out.print(i + "\t");
    }
    }
    }
  2. 自定义4个学生对象,添加到集合,并遍历集合

    package com;
    
    public class Person {
    private String name;
    private int age; public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public int getAge() {
    return age;
    } public void setAge(int age) {
    this.age = age;
    } public Person() {
    } public Person(String name, int age) {
    this.name = name;
    this.age = age;
    }
    }
    package com;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random; public class ArrayListExercise {
    public static void main(String[] args) {
    exercise2(); } public static void exercise2() {
    List<Person> list = new ArrayList<>();
    list.add(new Person("小明", 5));
    list.add(new Person("小红", 6));
    list.add(new Person("小王", 7));
    list.add(new Person("小丽", 8));
    for (Person person : list) {
    System.out.println("名字:"+person.getName() + " 年龄:"+person.getAge());
    }
    } }
  3. 自定义格式打印集合的方法,传参ArrayList,打印: {元素1@元素2@...@元素n}

    package com;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random; public class ArrayListExercise {
    public static void main(String[] args) {
    exercise3(); } public static void exercise3() {
    List<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    display((ArrayList) list);
    } public static void display(ArrayList list) {
    for (int i = 0; i < list.size(); i++) {
    if (i == 0) {
    System.out.print("{"+list.get(i)+"@");
    } else if (i == list.size()-1) {
    System.out.print(list.get(i) + "}");
    } else {
    System.out.print(list.get(i) + "@");
    }
    }
    } }
  4. 用一个大集合存入20个随机数,然后筛选其中的偶数元素,存入小集合中,要求自定义方法筛选。

    package com;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random; public class ArrayListExercise {
    public static void main(String[] args) {
    exercise4(); }
    public static void exercise4() {
    List<Integer> list = new ArrayList<>();
    Random r = new Random();
    final int N = 20;
    for (int i = 0; i < N; i++) {
    int num = r.nextInt(100) + 1;
    list.add(num);
    } for (Integer i : list) {
    System.out.print(i + "\t");
    } List<Integer> small = filter(list);
    System.out.println();
    for (Integer i : small) {
    System.out.print(i + "\t");
    }
    } public static List<Integer> filter(List<Integer> list) {
    List<Integer> result = new ArrayList<>();
    for (int i = 0; i < list.size(); i++) {
    if (list.get(i) % 2 == 0) {
    result.add(list.get(i));
    }
    }
    return result;
    }
    }

常用API - Scanner、Random、ArrayList的更多相关文章

  1. Java常用API(Scanner类)

    Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...

  2. Java常用API(Scanner,Random)匿名对象

    API:即Application programming Interface,应用编程接口. Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已 ...

  3. java第3天:Scanner,Random,ArrayList

    第一章:Scanner从入门到放弃 1 API的概述和使用步骤 API简称应用程序编程接口,是JDK给我们提供好的可以直接使用的类和方法,是程序员随手使用的字典. *** 2 Scanner的概述 2 ...

  4. Java常用API(ArrayList类)

    Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...

  5. List容器——ArrayList及常用API

    List: ①   List容器是有序的collection(也称为序列).此接口的用户可以对List容器中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜 ...

  6. Java常用API(Random类)

    Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...

  7. Java 常用API(二)

    目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...

  8. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...

  9. Java | 个人总结的Java常用API手册汇总

    目录 常用API JavaAPI 1 java.lang String StringBuilder Integer parseXxx Math Object System Throwable Thre ...

随机推荐

  1. transport方式连接Elasticsearch6.2.3

    连接ES有3中方式: ①transport方式 ②rest方式 ③JEST方式(第三方) 我自己项目使用第一种方式,代码和配置如下: 1.引入依赖 <dependency> <gro ...

  2. TD课程通的最终版评价

    相较之前的软件,功能得到了完善,同时也修复了BUG,还增加了辅助工具,可以查询一周的占用情况,省空间,很方便. 添加课程表的功能也得到了完善,同时增加了链接到教务系统的功能,方便查询相关的课程.问题是 ...

  3. 2 个步骤为 VSCode 配置工程头文件路径!

    我用 VSCode 来 Coding,这个编辑器需要自己配置头文件路径,就是自动建立一个 c_cpp_properties.json 文件来管理头文件路径,然后需要用哪些库就手动加上即可,方法很简单, ...

  4. Error reporting for dbus

    D-Bus 1.13.14 目录 Detailed Description Function Documentation ◆ dbus_error_free() ◆ dbus_error_has_na ...

  5. RabbitMQ系列之【设置RabbitMQ远程ip登录】

    由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq. ...

  6. Linux dd工具磁盘读写测试分析

    话说,Linux 自带的dd工具测试硬盘读写速度只能提供一个大概的测试结果,而且是连续IO 而不是随机IO ,理论上文件规模越大,测试结果越准确.理论上bs越大,所测得性能越高. 上句来自网上,是不是 ...

  7. [转] strtol()详解

    点击此处阅读原文 今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟. 网上关于这个函数的资料大都来源于同份资料,lin ...

  8. Arduino + RFID 读取 IC 卡 Arduino uno中获得RFID的UID 并通过串口转发RFID卡号

    RFID简介:射频识别即RFID(Radio Frequency IDentification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定 ...

  9. 怎样在LaTeX中使用中文

    因为疫情在家中上课,作业提交都必须使用PDF.反正时间充裕,不如趁机回顾一下LaTeX的使用. 之前一直用的是Vimtex,但是感觉还是不太方便,于是改用了Texpad.Texpad的强大之处在于它支 ...

  10. Homebrew命令总结

    brew又叫homebrew,是macos上的一个包管理工具,能够在mac中方便的进行包管理,类似于ubuntu系统下的apt-get,记得自己第一次接触brew是为了在mac上安装一个独立绿色的视频 ...