package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
String s1 = new String();
System.out.println("s1 " + s1);
char[] chs = {'a','b','c'}; //字符数组
String s2 = new String(chs);
System.out.println("s2:" + s2);
byte[] bys = {97,98,99}; //字节数组
String s3 = new String(bys);
System.out.println("s3:" + s3);
String s4 = "abc";
System.out.print("s4:" + s4);
}
}
字符串的比较
使用==做比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同
字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫equals()
public boolean equals(object anObject):将此字符串于指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串
System.out.println(s1.equals(s2));
用户登入案例
package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
String username = "kang";
String password = "yu";
for (int i = 0;i<3;i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String pwd = sc.nextLine();
if (name.equals(username) && pwd.equals(password)) {
System.out.println("登入成功");
break;
}else {
if (2-i == 0) {
System.out.println("账户锁定,联系管理员");
}else {
System.out.println("登入失败,你还有"+ (2 - i) +"次机会");
}
}
}
}
}
遍历字符串
键盘录入一个字符串,用Scanner实现
遍历字符串,首先要能够获取到字符串中的每一个字符
public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始
便利字符串,其次要能够获取到字符串的长度
public int length():返回此字符串的长度
数组的长度:数组名length
字符串的长度:字符串对象:length()
package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String line = sc.nextLine();
// System.out.println(line.charAt(0));
// System.out.println(line.charAt(1));
// System.out.println(line.charAt(2));
// for (int i=0;i<3;i++) {
// System.out.println(line.charAt(i));
//
// }
// System.out.println(line.length());
for (int i = 0;i<line.length();i++) {
System.out.println(line.charAt(i));
}
}
}
统计字符次数
案例:
package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String line = sc.nextLine();
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
for (int i=0;i<line.length();i++) {
char ch = line.charAt(i);
if(ch>='A' && ch<='Z') {
bigCount++;
}else if(ch>='a' && ch<='z') {
smallCount++;
}else if(ch>='0' && ch<='9') {
numberCount++;
}
}
System.out.println("大写字母"+bigCount +"个");
System.out.println("小写字符"+smallCount+"个");
System.out.println("数字" + numberCount+"个");
}
}
拼接字符串
package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
int[] arr = {1,2,3};
String s = arrayToString(arr);
System.out.println("s:"+s);
}
public static String arrayToString(int[] arr) {
String s ="";
s+="[";
for(int i=0;i<arr.length;i++) {
if(i==arr.length-1) {
s += arr[i];
}else {
s+=arr[i];
s+=",";
}
}
s+="]";
return s;
}
}
字符串反转
package new1;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
String s = reverse(line);
System.out.print(s);
}
public static String reverse(String s) {
String ss="";
for(int i=s.length()-1;i>=0;i--) {
ss += s.charAt(i);
}
return ss;
}
}
public boolean equals(Object anObject) //比较字符串的内容,严格区分大小写(用户名和密码)
public char charAt(int index) //返回指定索引处的char值
public int length() //返回此字符串的长度