- 1:字符和字符串之间的方法
ps:系统方法的实现的部分,不要求记住(当然具体的实现的算法可以查看源码)
对于一个系统提供的方法我们需要关注的是,我们使用它干什么,输入什么(参数列表),名字是什么(调用方法的名),返回值是什么(处理的结果)。
//首先是将字符转换为字符串
public String(char[] value){}//构造方法,将所有字符组成的数组转换为字符串。
public String(char[] value,int offset,int count)//将字符串组成的数据的一部分转换为字符串。
//然后是得到字符串中指定索引处的字符
public char charAt(int index){}
//然后就是将字符串转换成一个字符数组 的形式。
public char[] toCharArray()
- 练习上面的方法
package function1.it.cast01;
/*
* 要求:1练习使用构造方法和普通字符与字符串的方法
*/
public class CharString {
public static void main(String[] args) {
//1:返回指定位置处的字符
String str = "hello" ;
System.out.println(str.charAt(4));
//2:将字符串转换成字符数组的形式
char[] arrs = str.toCharArray() ;
print(arrs);
//3:通过构造方法,和转换成字符串数组的方法将字母转换成大写
String result = convertUpper(arrs);
System.out.println(result);
}
public static void print(char[] temp) {
for(int x= 0 ;x<temp.length;x++) {
System.out.print(temp[x]+",");
}
System.out.println();
}
public static String convertUpper(char[] arr) {
String str = "" ;
for(int x= 0;x<arr.length;x++) {
arr[x] -= 32;
//这里特别需要留意就是讲字符转换成小写形式的自动的完成。
}
str = new String(arr);
return str ;
}
}
o
h,e,l,l,o,
HELLO
//练习2:判断一个字符串是否全部是数字组成的
package function1.it.cast01;
import java.util.Scanner;
public class IsNumber {
public static void main(String[] args) {
Scanner scc = new Scanner(System.in) ;
System.out.println("请你输入一个字符串,必须全部由数字组成");
String input = scc.nextLine() ;
boolean result = isNumber(input) ;
System.out.println("是否由数字组成:"+result);
}
public static boolean isNumber(String strs){
//判断数字字符有一个特点就是'0'到'9之间'
boolean flag =true ;
char[] arrs = strs.toCharArray() ;
for(int x = 0;x<arrs.length;x++) {
if(!(arrs[x] >'0' && arrs[x] <'9')) {
flag = false ;
}
}
return flag ;
}
}
请你输入一个字符串,必须全部由数字组成
2312344342
是否由数字组成:true
上面的这个练习是使用了一个键盘输入扫描函数,最关键的部分在判断是否全部由数字组成的函数的小算法部分。
这个小的算法最重要部分1:使用了定义变量flag先指定正确,然后巧妙使用 “只要有一个字符不是数字字符,就将flag赋值为false,”最后返回判断的结果。
tip:
判断函数的定义的名字一般定义成 isxxx的形式, 函数 进入之后,立马定义一个boolean flag ;根据判断条件,恰当的初始化这个flag的值,然后对判断的算法使用if分支的条件语句进行判断,修改这个定义的flag值。上面的例子中的数字字符在 '0' 到‘9’之间这样 的判断是非常方便的,避免了使用ASCII值的麻烦。