String
-
String是Java定义好的一个类,。定义在java.lang包中,所以使用的时候不需要导包
-
Java程序中的所有字符串文字(例如abcd),都被视为此类的对象
-
字符串的内容是不会发生改变的,它的对象在创建后不能被更改
-
不存在:创建;存在:复用
String s1 = "abc";
System.out.println(s1);
String s2 = new String();
System.out.println("@" + s2 + "!");
String s3 = new String("abc");
System.out.println(s3);
char[] chs = {'a','b','c','d'};
String s4 = new String(chs);
System.out.println(s4);
byte[] bytes = {97, 98, 99, 100};
String s5 = new String(bytes);
System.out.println(s5);
创建字符串
==号
-
基本数据类型比较的是数据值;引用数据类型比较的是地址值
-
boolean equals方法——完全一样结果才是true,否则为false
-
boolean equalsIgnoreCase——忽略大小写的比较
String s1 = new String("abc");
String s2 = "Abc";
System.out.println(s1 == s2);
boolean result = s1.equals(s2);
System.out.println(result);
boolean result1 = s1.equalsIgnoreCase(s2);
System.out.println(result1);
用户登录
已知正确的用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
String rightUsername = "Abc";
String righytPassword = "12346";
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println("请输入用户名");
String userName = sc.next();
System.out.println("请输入密码");
String userPassword = sc.next();
if (userName.equals(rightUsername) && userPassword.equals(righytPassword)){
System.out.println("用户登录成功");
break;
}else {
if(i == 2){
System.out.println("账户" + rightUsername + "已被锁定");
}else {
System.out.println("用户名或密码错误,还剩" + (2 - i) + "次机会");
}
}
}
}
}
遍历字符串
键盘录入一个字符串,使用程序实现在控制台遍历字符串
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
System.out.println(c);
}
}
}
统计字符次数
键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符:");
String str = sc.next();
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= 'a' && c <= 'z') {
smallCount++;
} else if (c >= 'A' && c <= 'Z') {
bigCount++;
} else if (c >= '0' && c <= '9') {
numberCount++;
}
}
System.out.println("小写字母有:" + smallCount);
System.out.println("大写字母有:" + bigCount);
System.out.println("数字字母有:" + numberCount);
}
}
拼接字符串
定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
String str = arrToString(arr);
System.out.println(str);
}
public static String arrToString(int[] arr) {
if (arr == null) {
return "";
}
if (arr.length == 0) {
return "[]";
}
String result = "[";
for (int i = 0; i < arr.length; i++) {
if(i == arr.length - 1){
result = result + arr[i];
}else {
result = result + arr[i] + ", ";
}
}
result = result + "]";
return result;
}
}
字符串反转
定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符");
String a = sc.next();
String result = reverser(a);
System.out.println(result);
}
public static String reverser(String str) {
String result = "";
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
result = result + c;
}
return result;
}
}
Tips
以上学习内容均来自于B站黑马程序员