API
API:应用程序编程接口。
简单理解:api就是别人已经写好的东西,我们不需要自己编写,直接使用即可。
java API:指的就是JDK中提供的各种功能的Java类。
String
string的注意点
1、字符串的内容是不会发生改变的,他的对象在创建后不能被改变。
2、String是java定义好的一个类。定义在java.lang包中,所以使用的时候不需要导包。
3、Java程序中的所有字符串文字(例如“abcdefg”)都被实为此类的对象。
字符串分为直接赋值和new,当直接进行赋值的话,那么会存储在串池中,当再对第二个字符串变量进行相同的赋值时,此时会在串池中寻找,若有相同的字符串则直接把此地址给第二个字符串变量。但是new出来的字符串就不会有这个过程,每new一个字符串都会重新开辟一个空间,即重新在堆内分配一个地址。
StingBuilder :一个可变的操作字符串的容器。可以高效的拼接字符串,还可以将容器里面的内容反转,一般在拼接字符串和反转字符串的时候使用。
StringJoiner :JDK8出现的一个可变的操作字符串的容器,可以高效,方便的拼接字符串。在拼接的时候,可以指定间隔符号,开始符号,结束符号。
字符串原理小结
如果没有变量参与,都是字符串直接相加,编译之后就是拼接之后的结果,会复用串池中的字符串。
如果有变量参与,每一行拼接的代码,都会在内存中创建新的字符串,浪费内存。
集合
可以把集合认为是长度可变的数组,但是集合不可以直接存储基本数据类型,只可以存储应用数据类型。
如果要存储基本数据类型,那么需要使用基本数据类型对应的包装类:
如int -> Integer char -> Character等等
集合经常用的四个操作,即增、删、改、查:
boolean add(E a); //添加元素,返回值为是否添加成功
boolean remove(E a); //删除指定元素
E remove(int index); //删除指定索引的元素,返回被删除元素
E set(int index, E e); //修改指定索引下的元素,返回原来的元素
E get(int index); //获取指定索引的元素
int size() //集合的长度,也就是集合中元素的个数
static
static表示静态,是java中的一个修饰符,可以修饰成员方法,成员变量。
被static修饰的成员变量,叫做静态变量。
特点:被该类的所有对象共享; 不属于对象,属于类; 随着类的加载而加载,优先于对象存在
调用方式:类名调用(推荐); 对象名调用
被static修饰的成员方法,叫做静态方法
特点:多用在测试类和工具类中; Javabean类中很少会用
调用方式:类名调用(推荐); 对象名调用
static的注意事项
静态方法只能访问静态变量和静态方法。
非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法。
静态方法中是没有this关键字。
工具类
Javabean类:用来描述一类事物的类。比如,Student,Teacher,Dog,Cat等
测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口。
工具类:不是用来描述一类事物的,而是帮助我们做一些事情的类。
重新认识main方法
public class HelloWorld{
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
pubic:被JVM调用,访问权限足够大。
static:被JVM调用,不用创建对象,直接类名访问。因为main方法是静态的,所以测试类中其他方法也需要是静态的。
void:被JVM调用,不需要给JVM返回值。
main:一个通用的名称,虽然不是关键字,但是被JVM识别。
String[] args:以前用于接收键盘录入数据的,现在没用。