API使用步骤
- 打开帮助文档。
- 点击显示,找到索引,看到输入框。
- 在输入框内找到输入,然后回车。
- 看包。java.lang 下的类不需要导包,其他需要。
- 看类的解释和说明。
- 学习构造方法。
- 使用成员方法。
Scanner类
以Scanner类作为介绍,来介绍一下API的使用步骤。
- import 包名.类名;import java.util.Scanner
- 创建对象。 数据类型 变量名 = new 数据类型(参数列表);Scanner sc = new Scanner(System.in);
- 调用方法。变量名.方法名();int i = sc.nextInt();
- 具体的使用步骤和方法参考API文档。
- 匿名对象简要介绍:创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。
应用场景:
a. 创建匿名对象直接调用方法,没有变量名。
new Scanner(System.in).nextInt();
b. 匿名对象可以作为方法的参数和返回值。
- 作为参数:
class Test {
public static void main(String[] args) {
// 普通方式
Scanner sc = new Scanner(System.in);
input(sc);
//匿名对象作为方法接收的参数
input(new Scanner(System.in));
}
public static void input(Scanner sc){
System.out.println(sc);
}
}
- 作为返回值:
class Test2 {
public static void main(String[] args) {
// 普通方式
Scanner sc = getScanner();
}
public static Scanner getScanner(){
//普通方式
//Scanner sc = new Scanner(System.in);
//return sc;
//匿名对象作为方法返回值
return new Scanner(System.in);
}
}
- 匿名方法使用时,只能使用一次,之前用匿名类创建的或者定义的东西都不能使用。
Random类
使用:
Random r = new Random();
int num = r.nextInt(10); //注意范围是0-9,如果要1-1-,则用r.nextInt(10)-1
ArrayList类
存储对象数据,选择的容器只有对象数组。然而数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另外一个容器 java.util.ArrayList集合类,让我们可以更加便捷的存储和操作对象数据。
使用:
ArrayList<String> list = new ArrayList<>();
list.add(); // 往集合中增加数据
list.get(); //得到集合中的元素
list.remove(); //删除指定索引处的元素,返回被删除的元素
list.size(); //返回集合中的元素个数
- ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似的int不能写,必须转换后才能使用,转换如下:
基本类型 | 基本类型包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
//集合同样可以作为方法的返回值和输入值
public static ArrayList<Integer> getArrayList(ArrayList<Integer> list)
String类
特点:
- 字符串不变:字符串的值在创建后不能被更改。
String s1 = "abc";
s1 += "d";
sout(s1); //abcd
// 内存中有"abc", "abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。
- 因为String的对象是不可变的,所以它们可以被共享。
String s1 = "abc";
String s2 = "abc";
//在这里两个字符串指向的都是"abc",所以s1和s2(引用类型)的值是一样的(都是地址值)。
- "abc"等效于char[] data = {‘a’, ‘b’, ‘c’}。
String str = "abc";
char[] data = {'a', 'b', 'c'};
String str = new String(data);
// String底层是靠字符数组实现的
使用步骤
三种构造举例
//无参构造
String str = new String();
//通过字符数组构造
char[] chars = {'a','b','c'};
String str1 = new String(chars);
//通过字节数组构造
byte[] bytes = {97, 98, 99};
String str2 = new String(bytes);
常用方法
- 判断功能的方法
- s1.equalsIgnoreCase(s2) 返回的是一个Boolean值,并且忽略大小写。
- s2.equals(s2) 不会忽略大小写
- 获取功能的方法
- s.length(); 返回字符串的长度
- s.concat(str1); 将str1连接到s字符串的末尾
- s.charAt(0); 返回字符串指定索引处的char值
- s.indexof(owo); 返回指定字符串第一次出现在该字符串内的索引。
- s.substring(3,8); 从索引3开始截取到索引8。
- 转换功能的方法
- char[] chs = s.toCharArray(); 将该字符串转换为新的字符数组。
- byte[] bytes = s.getBytes(); 使用平台的默认字符集将该String编码转化为新的字节数组。
- String str = s.replace(“it”,“IT”); 将字符串s中的it替换为IT。
- 分割功能的方法
String s = “aa|bb|cc”;
String[] strArray = s.split("|"); //[“aa”,“bb”,“cc”]
Arrays类
int[] arr = {};
String s = Array.toString(arr);
Array.sort(arr); //升序排列
Math类
double d1 = Math.abs(-5); //d1的值为5
double d2 = Math.ceil(3.3); //返回大于等于参数最小的整数 ,相对有floor返回小于等于参数最大的整数。
long d1 = Math.round(5.5); // 返回最接近参数的long(相当于四舍五入法)