一、API
Application Programming Interface
应用程序编辑接口
Java API 就是JDK提供的各种功能的Java类,这些类封装了起来,只需要了解怎么使用
二、String类
Java程序中所有带双引号的字符串都是String类的对象(实例)。
String类的特点:
1、创建后无法改变
2、可以被共享
3、效果上相当于字符数组char[],但实际上底层是字节数组byte[]
三、String 构造方法
推荐使用第四种直接赋值
四、String对象的特点
构造方法的方式得到对象
上图的代码在内存中的情况,如下图:
①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
直接赋值的方法得到对象
上图的代码在内存中的情况,如下图:
①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()
示例:
案例一:
见P121代码
难点在于for循环加的位置应该在开头输入用户名的地方
案例二:
难点在于使用charAt()方法
遍历字符串
字符串.charAt(索引号)
注意该方法返回的类型是char
案例三:
难点在于如何判断一个字符是否属于大写字母、小写字母、数字。
大写字母:ch>='A'&&ch<='Z'
小写字母:ch>='a'&&ch<='z'
数字:ch>='0'&&ch<='9'
注意:
String s = new String();
char ch = 'a';
s = s + ch;
//所以字符可以加到字符串里。深刻理解"效果上相当于字符数组char[]"
反转方法的代码如下:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。