demo1
package StringDemo;
public class StringDemo1 {
public static void main(String[] args) {
String s1 = "abc";
System.out.println(s1);
//空参构造:可以获取一个空白的字符串
String s2 = new String();
System.out.println("!" + s2 + "@");
//传递一个字符串,根据传递的字符串内容再创建一个新的字符串
String s3 = new String("abc");
System.out.println(s3);
//传递一个字符数组,根据字符数组的内容再创建一个新的字符串
//需求:我要修改字符串的内容 abc ---> Qbc
//abc ---> {'a','b','c'} ---> {'Q','b','c'}
char[] chs = {'a', 'b', 'c'};
String s4 = new String(chs);
System.out.println(s4);
//传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象
//应用场景:以后在网络中传输的数据都是字节信息
//我们一般要把字节信息进行转换,转成字符串,此时就要用到这个构造
byte[] bytes = {97, 98, 99, 100};
String s5 = new String(bytes);
System.out.println(s5);
}
}
demo2
package StringDemo;
import java.util.Scanner;
public class StringDemo2 {
public static void main(String[] args) {
System.out.println("请输入字符串:");
Scanner sc = new Scanner(System.in);
String s1 = sc.next();//键盘录入的字符串是new出来的
String s2 = "abc";
System.out.println(s1 == s2);//false
//结论:若以后想要比较字符串的内容,就必须要用String里面的方法
}
}
demo3
package StringDemo;
public class Equals {
public static void main(String[] args) {
String s = new String("nihao");
String s1 = new String("Nihao");
System.out.println(s.equals(s1));
// 忽略大小写
System.out.println(s.equalsIgnoreCase(s1));
}
}
demo4
package StringDemo;
import java.util.Scanner;
public class StringDemo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String userName = "sunshine";
String passwd = "123456";
int count = 1;
System.out.println("请输入账户:");
String userInput = sc.next();
System.out.println("请输入密码:");
String pwd = sc.next();
while (count != 3) {
count++;
if (user(userName, userInput)) {
if (passwd(passwd, pwd)) {
System.out.println("用户名、密码输入正确......");
break;
} else {
System.out.println("密码输入错误,请重新输入");
System.out.println("请输入账户:");
userInput = sc.next();
System.out.println("请输入密码:");
pwd = sc.next();
}
} else {
System.out.println("用户名输入错误,请重新输入");
System.out.println("请输入账户:");
userInput = sc.next();
System.out.println("请输入密码:");
pwd = sc.next();
}
}
if (count == 3) {
System.out.println("输入次数过多,请稍后再试");
}
}
public static boolean user(String username, String input) {
if (username.equals(input)) {
return true;
}
return false;
}
public static boolean passwd(String passwd, String input) {
if (passwd.equals(input)) {
return true;
}
return false;
}
}
demo5
该函数通过Scanner类从标准输入读取一个字符串,并使用for循环遍历字符串的每个字符,使用System.out.print()方法将字符打印至标准输出。
package StringDemo;
import java.util.Scanner;
public class StringDemo4 {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String s2 = sc.next();
for (int i = 0; i < s2.length(); i++) {
System.out.print(s2.charAt(i));
}
}
}
demo6
package StringDemo;
import java.util.Scanner;
public class StringDemo5 {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
int bigCount = 0, smallCount = 0, count = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z') {
smallCount++;
} else if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
bigCount++;
} else {
count++;
}
}
System.out.println("大写字母有" + bigCount + "个");
System.out.println("小写字母有" + smallCount + "个");
System.out.println("数字字母有" + count + "个");
}
}
demo7
package StringDemo;
public class StringDemo6 {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
String s = change(arr);
System.out.println(s);
}
public static String change(int[] arr) {
if (arr == null || arr.length == 0) {
return null;
}
String s = "[";
for (int i = 0; i < arr.length; i++) {
if (i != arr.length - 1) {
s += arr[i] + ",";
} else {
s += arr[i];
}
}
s += "]";
return s;
}
}
demo8
package StringDemo;
import java.util.Scanner;
public class StringDemo7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
reverse(str);
}
public static void reverse(String str) {
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(str.length() - 1 - i));
}
}
}