一、API

Application Programming Interface
应用程序编辑接口

Java API 就是JDK提供的各种功能的Java类,这些类封装了起来,只需要了解怎么使用

二、String类

Java程序中所有带双引号的字符串都是String类的对象(实例)。
String类的特点:

1、创建后无法改变
2、可以被共享
3、效果上相当于字符数组char[],但实际上底层是字节数组byte[]

三、String 构造方法

image.png
image.png

推荐使用第四种直接赋值

四、String对象的特点

构造方法的方式得到对象

image.png
上图的代码在内存中的情况,如下图:
image.png
①main方法加载到栈中,创建一个字符数组在堆内存,地址为001,chs---001;
②创建字符串对象,String s1在main方法中出现,new String()在堆内存出现,地址为002。参数chs是字符数组,因此参考的内容是来自地址为001的内存的值。s1---002;
③创建字符串对象,String s2在main方法中出现,new String()在堆内存出现,地址为003。参数chs是字符数组,因此参考的内容是来自地址为001的内存的值。s2---003;

System.out.println(s1==s2)//false
直接赋值的方法得到对象

image.png
上图的代码在内存中的情况,如下图:
image.png
①String s3出现在main方法中,“abc”内容会出现在常量池中,地址为004,把该地址给了s3,则s3就通过地址004指向了常量池中的abc。
②String s4出现在main方法中,“abc”内容会出现在常量池中,地址为004,把该地址给了s4,则s4就通过地址004指向了常量池中的abc。

System.out.println(s3==s4)//true

总结:

其实就是第一种情况属于创建String类的对象
第二种情况属于定义变量

五、字符串的比较

==的使用:

对于基本数据类型,比较的是值是否相同
对于引用数据类型,比较的是地址是否相同

字符串是对象,若需比较内容是否相同,则需要方法:equals()
示例:
image.png

案例一:

image.png
见P121代码

难点在于for循环加的位置应该在开头输入用户名的地方
案例二:

image.png

难点在于使用charAt()方法

遍历字符串

字符串.charAt(索引号)
注意该方法返回的类型是char
案例三:

image.png

难点在于如何判断一个字符是否属于大写字母、小写字母、数字。
大写字母:ch>='A'&&ch<='Z'
小写字母:ch>='a'&&ch<='z'
数字:ch>='0'&&ch<='9'

注意:

String s = new String();
char ch = 'a';
s = s + ch;

//所以字符可以加到字符串里。深刻理解"效果上相当于字符数组char[]"
反转方法的代码如下:
image.png


MeeWoW
18 声望1 粉丝

加油