带参方法
定义:
访问修饰符 返回值类型 方法名 (参数列表){
// 方法主体
}
-
访问修饰符指该方法允许被访问的权限范围,只能是public,protected或private,其中public访问修饰符表示该方法可以被任何其他代码调用,另外两种修饰符将再后续的课程中陆续学习
-
返回值类型指方法返回值的类型,如果方法不返回任何值,它应该声明为void类型,Java对待返回值的要求很严格,方法的返回值必须与所说明的类型相匹配。使用return语句返回值。
-
方法名是定义的方法的名字,它必须使用合法的标识符
-
参数列表是传送给方法的参数列表,列表中各参数间以逗号分隔。参数列表的格式如:数据类型 参数1,数据类型 参数2......
调用:
对象名.方法名(数据类型 参数1,数据类型 参数2........)
在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参。形参是在定义方法时对参数的称呼,目的是定义方法需要传入的参数个数和类型。实参是在调用方法时传递给方法处理的实际的值
调用方法时,需要注意以下两点
-
先实例化对象,再调用方法
-
实参的类型,数量,顺序都要与形参一 一对应
带参方法进阶
数组是可以当作方法的参数的,在面对需要使用多个值作为参数时,可以声明数组参数
对象也是可以作为方法参数得,在面对需要使用另外一个方法中保存不同的值,然后使用其他类中定义的对象作为参数
字符串
如何使用字符串
-
定义并初始化字符串
-
使用字符串,对字符串进行一些处理
定义:
//创建一个字符串对象“Hello world”
String s = "Hello world";
在java中,字符串被作为String类型的对象来处理。String类是Java设计人员预先提供的一个非常有用的类,它位于java.lang包中,默认情况下,该包被自动导入所用的程序,创建String对象的两外两种方法如下所示:
//创建一个空的字符串
String s = new String();
//创建一个带字符串的对象
String t = new String("Hello World")
正因如此,大家可以通过使用String 类提供的方法来完成对字符串的操作。
字符串的长度
字符串的长度由length()方法确定
语法:
字符出1.length();
//返回字符串的长度
返回字符串长度可以在很多地方使用,比如账户与密码的注册系统
字符串比较
要编写程序让计算机比较两个字符串对象的内容是否一致,使用equals()方法可以解决
在使用equals()方法比较两个字符串时,他逐个对照组成两个字符串的每个字符串是否相同。如果都相同,则返回true,否则返回false
语法:
字符串1.equals("字符串2");
为什么不能使用双等号(==)来判断字符串是否相同呢?
在java中双等号和equals()方法虽然都应用于两个字符串判等,但所判断的内容是有差别的。简单的讲“ == ”判断的是两个字符串对象在内存中的首地址是否相等,及判断是否是同一个字符串对象,而equals()判断的是两个字符串对象的值是否相等。
忽略大小写比较:
在使用equals()方法比较两个字符串时,对于字符串的大小写,也在检查范围之内。但有时我们会碰到忽略大小写的验证,如“Java”和“java”都是指Java这门课程,使用equals就会判否,所以我们使用equalsIgnoreCase()方法忽略大小写
语法:
字符串1.equalsIgnoreCase("字符串2");
在java中,String类型还提供了两种方法改变字符串的大小写
-
toLowerCase():转换字符串中的英文字母大写为小写
-
toUpperCase():转换字符串中的英文字母小写为大写
字符串.toLowerCase();
//返回字符串为小写
字符串.toUpperCase();
//返回字符串为大写
复杂字符串处理
字符串连接
在Java中,字符串的拼接方法有使用加号,加号的方法运算符连接字符串和int(或double)类数据类型时,“ + ”将int(或double)类型数据自动转换成String类型。
在java中,对于String字符串类的拼接还提供了另外一个方法,concat(),将一个字符串连接到另外一个字符串后面
语法:
字符串1.concat(字符串2);
字符串2被连接到字符串1后面,返回连接后的新字符串
字符串的提取和查询
序号 | 方法 | 说明 |
---|---|---|
1 | public int indexOf(int ch);public int indexOf(String Value) | 搜索第一个出现的字符ch(或字符串Value) |
2 | public int lastIndexOf(int ch);public int lastIndexOf(String Value) | 搜索最后一个出现的字符ch(或字符串Value) |
3 | public String substring(int index) | 提取从位置索引开始的字符串部分 |
4 | public String substring(int beginindex,int endindex) | 提取beginindex和endindex之间的部分 |
5 | public String trim() | 返回一个前后不含任何空格的调用的字符串的副本 |
字符串时一个字符的排列顺序,每一个字符都有自己的位置,字符串事实上也是一个字符数组,因此他的位置是从0开始到(字符长度-1)结束
indexOf()方法
该方法时在字符串内搜索某个指定的字符或字符串,他返回出现第一个匹配字符的位置。如果没有找到匹配,则返回-1,调用时括号中写明要搜索的字符(或字符串)的名字。
语法:
String s = "青春无悔";
int index = s.indexOf("春");
执行后,返回的字符"春"的位置是1
lastIndexOf()方法
该方法也是在字符串内搜索某个指定的字符或字符串,但是它是搜索最后一个出现的字符(或字符串)的位置。
String s = "青春无悔无悔青春";
int index = s.lastIndexOf("青春");
执行后,返回字符串"青春"的首字符位置,index的值为6。
substring(int index)方法
该方法用于提取从位置索引开始的字符串部分,调用时括号中写的是要提取的字符串的开始位置,方法的返回值就是要提取的字符串。
String s = "青春无悔";
String result = s.subString(1);
substring(int beginindex,int endindex)方法
该方法用于提取位置beginindex和位置endindex位置之间的字符串部分。特别要注意的是,对于开始位置beginindex,Java是基于字符串的首字符为0来经行处理的,但是对于最终位置endindex,Java是基于字符串的首字符为1来处理的
String s = "青春无悔无悔青春";
String result = s.substring(2,6);
trim()方法
该方法可以忽略字符串后面的空格,在接收用户输入的字符串的时候,一般会带哦用trim()方法过滤掉字符串前后多余的空格
字符串拆分
java的String类提供了一个拆分字符串的方法split(),将一个字符串分割为子字符串,结果作为字符串数组返回
字符串1.split(String separator,int limit);
-
separator可选项,标识拆分字符串时使用一个或多个字符。如果不选择该项,则返回包含该字符串所有单个字符的元素数组
-
limit可选项,该值用来限制返回数组中的元素个数
StringBuffer类
StringBuffer类位于java.lang包中,是String类的增强类。使用StringBuffer类也需要两步完成
-
声明StringBuffer对象并初始化
//声明一个空的StringBuffer对象 StringBuffer sbl = new StringBuffer(); //声明一个字符串“青春无悔” StringBuffer sb2 = new StringBuffer("青春无悔");
-
使用StringBuffer对象
StringBuffer类提供了很多方法以供使用,调用时“ . ”操作符完成。
toString()方法
将StringBuffer类型的字符串1转换为String类型的对象并返回。
字符串1.toString();
append()方法
将字符串2连接到字符串1后并返回,该方法和String类的concant方法一样,都是把字符串追加到另一个字符串后面,所不同的是String中只能将String类型的字符串追加到一个字符串后,而StringBuffer可以将任何类型的值追加到字符串之后
字符串1.append(字符串2)
insert()方法
将参数插入字符串中指定的位置(int类型)后并返回。参数是可以包括String的任何类型
字符串1.insert(位置,参数)