类和对象,使我们从执行者变成了指挥者,需要哪种功能就调用拥有这种功能的对象去做这件事
封装,例如:台式电脑的主机,里面的各种硬件就相当于方法,然后用外壳把它们封装起来,露出接口,接口就相当于对象,你只有调用对象,连接接口才能使用它
成员变量和局部变量,成员变量作用于整个类class{ 成员变量 },而局部变量作用于方法,例:main(){ 局部变量 }
成员变量的作用范围比局部变量广,成员变量在分配空间的时候,系统会自动对他们进行初始化,初始值跟类型来定,而局部变量系统是不会默认赋初始值,如果你自己没有对局部变量进行初始化,而直接使用这个局部变量那么程序崩溃
如果局部变量和成员变量重名,局部变量覆盖成员变量的值,如果想要访问的是成员变量的值,可以使用this来获取
return关键字,返回的意思 (1)如果你的方法是返回值类型不为空void,那么你需要使用return返回对应的类型,这个返回值是返回给调用者的
(2)如果没有返回值的情况下,返回值类型为void的时候,可以用return,但return后面不要接任何内容,直接分号
(3)它代表着方法的结束,一旦在方法中遇到return,则不再往后面执行了,直接回到方法的调用者那里
当静态方法在加载的时候是不可能有对象的,所以调用实例方法调用不到 可以在非静态方法中直接调用静态方法但不可以在静态方法中直接调用非静态方法
String str1 = "jack'; String str2 = "JACK"; str1.equals(str2) 这是比较两个字符串的内容是否相等,返回boolean类型
equals方法比较的是两个字符串的内容而 == 比较的是字符串的地址
str1.equalsIgnoreCase(str2); ----->比较时忽略大小写问题
str1.toUpperCase(); -------->转换为大写
str2.toLowerCase(); -------->转换为小写
concat 拼接字符串 concat这个方法只能够拼接字符串内容,如果是其它类型的数据,这个方法会出现参数类型不兼容的错误
搜索第一个出现的字符或字符串的下标位置
Public int indexOf(int ch); ------>int ch 是指字符在Unicode编码表中对应的十进制数字
Public int indexOf(String value); ------->()中写你要搜索的字符串或字符,如果找到则返回它的索引位置,如果没找到对应的字符或字符串则返回值为-1
搜索最后一个出现的字符或字符串出现的下标位置
Public int lastIndexOf(int ch);
Public int lastIndexOf(String value);
提取从位置索引开始的字符串部分(从索引开始一直到结尾)
Public String substring(int index);
提取beginindex和endindex之间的字符串部分
Public String substring(int beginindex, int endindex);
返回一个前后不含任何空格的调用字符串的副本
Public String trim();
字符串的拆分
字符串名.split(String separator, int limit);
separator可选项,标识拆分字符串时使用一个或多个字符串,如果不选择该项,则返回包含该字符串所有单个字符的元素数组
limit可选项,该值用来限制返回数组中的元素个数
例如:String lyrics = "长亭外 古道边 芳草碧连天";
String[] lys = lyrics.split(" "); // 用空格分割这个字符串
结果输出 长亭外
古道边
芳草碧连天
StringBuffer String的增强版本,可以对原字符串进行增删改查
例:String Buffer sb1 = new StringBuffer(); //声明StringBuffer对象并初始化
String Buffer sb2 = new StringBuffer("青春无悔"); //声明一个字符串"青春无悔”
拼接: sb2.append(17); //输出 "青春无悔17"
插入:sb2.insert(2,"你好"); //输出"青春你好无悔17"
String s1 = sb2.toString(); //转换buffer为字符串