API概述
概述
API(Application Programming Interface)应用程序编程接口。Java API对于程序员来说就是一本可以检索查找的【字典】,是JDK官方提供给程序开发者使用类的说明文档。
Scanner类
一个可以使用正则表达式来解析基本数据类型和字符串类型的简单文本扫描器
Scanner sc= new Scanner(System.in);
int num = sc.nextInt();
备注:System.in 系统输入指的是通过键盘录入数据
引用类型使用步骤
使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类不需要导入。
导入的格式:
import 包名.类名
如:import java.util.Scanner;
创建对象
数据类型 变量名 = new 数据类型(参数列表);
调用方法
变量名.方法名();
Scanner类的使用步骤
查看类
java.util.Scanner 需要导入java.util包
查看构造方法
public Scanner(InputStream source):
构造一个新的Scanner对象,它生成的值是从指定的输入流中扫描的。
查看成员方法
public int nextInt();将输入的信息的下一个标记扫描为一个int类型值.
匿名对象
匿名对象:没有变量名的对象
格式:
数据类型 变量名 = new 数据类型(参数列表);//有名对象
new 数据类型(参数列表);
举例:
public class AnonymousDemo{
//传统的写法
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//匿名对象的方式
int num02 = new Scanner(System.in).nextInt();
int num03 = new Scanner(System.in).nextInt();
System.out.println(num02);
//开发中 使用匿名对象进行参数的传递
checkInput(new Scanner(System.in));
// 获取一个Scanner类对象
Scanner sc02 = getScanner();
}
public static void checkInput(Scanner sc){
int num = sc.nextInt();
System.out.println(num);
}
public static Scanner getScanner(){
return new Scanner(System.in);
}
}
备注:匿名对象只能使用唯一的一次,下次再使用再次创建
使用建议:如果在程序当中你确定有一个对象只会使用唯一的一次,建议使用匿名对象.
Random类
查看类
java.util.Random: 该类需要导入后才能使用
查看构造方法
public Random():创建一个新的随机数生成器
查看成员方法
public int nextInt(int n): 返回一个伪随机数,范围在[0,n-1].
public double nextDouble();返回一个伪随机小数,范围在[0.0,1.0)
ArrayList类
引入–对象数组
备注:对象数组,长度是固定的,如果在程序中需要对象进行增加或者删除等数量操作时,非常不方便。
Java又提供了一个容器 java.util.ArrayList集合类。这个类可以让我们的存储和操作对象更方便
什么ArrayList类
java.util.ArrayList类是一个【大小可变的数组】的实现,里面存储的数据称为元素。该类提供了一些常用的api方法来操作内部存储的元素。
ArrayList类的使用步骤
-
查看类
java.util.ArrayList:该类也是需要import导入后才能使用
,表示一种指定的数据类型,叫做【泛型】。E,取自Element(元素)的首字母。在程序中遇到【E】的地方,我们需要使用一种【引用的数据类型】将其替换掉即可,表示我们将存储哪种数据类型的元素。
例如:
ArrayList<People> peoples;
ArrayList<String> strs;
ArrayList<int> nums; // 不正确的写法
查看构造方法
public ArrayList(): 构造一个初始容量为10的空列表
public ArrayList(int initialcapacity) 构造一个指定初始容器的空列表
基本格式:
ArrayList<引用数据类型> 变量名 = new ArrayList<引用数据类型>();
// 在JDK1.7之后,右侧的泛型尖括号里面的数据类型可以选择省略不写,但是<>要保留。
查看成员方法
public boolean add(E e):将指定的元素添加到次列表的【尾部】。
public void add(int index,E element):将指定的元素插入次列表中的指定位置。
public void clear():移除此列表中的所有元素.
public boolean contains(Object o): 判断此列表是否包含指定的元素,如果包含返回true,否则返回false。
public E get(int index): 返回指定位置的元素。
public int indexof(Object o):返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回-1.
public boolean isEmpty();如果此列表中没有元素,则返回true
public E remove(int index):移除指定位置的元素,并把移除的元素返回
public E set(int index,E e):用指定的元素代替此列表中指定位置上的元素.
public int size();返回此列表中的元素个数.
如何存储基本数据类型值
基本类型 | 基本类型包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
String类 【重点】
程序当中的所有双引号字符串,都是String类的对象。(没有new,也是对象)。
-
字符串的内容永远不可改变。【重点】
-
正是因为字符串的内容永远不可改变,所以字符串是可以共享使用的。
-
字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。
-
备注:JDK1.7之后的JVM将【运行时常量池】从方法区去移除了,在Java 堆(heap)中开辟空间用来存储运行时常量池。JDK1.8开始,取消了Java方法区(method area),取而代之的是元空间(metaspace),JDK1.8中字符串常量池和运行时常量池逻辑上属于方法区,实际上存储在堆内存当中。