13String
# 1. String
1.1 String 概述

1.2 String 构造方法
- 推荐使用直接赋值的方式来使用字符串对象

//public String():创建一个空白字符串对象,不含有任何内容
String s1 = new String();
System.out.println("s1"+s1);
//public String(char[] chs):根据字符数组的内容,来创建字符串对象
char[] chs = {'a','b','c'};
String s2 = new String(chs);
System.out.println("s2"+s2);
//public String(byte[] bys):根据字节数组的内容,创建字符串对象
byte[] by = {97,89,894};
String s3 = new String(bys);
System.out.println("s3"+s3);
//String s = "abc";直接赋值的方式创建字符串对象,内容就是abc
String s = "abc";
System.out.println("s"+s);
1.3 String对象的特点
1.3.1 通过new创建

1.3.2 通过“”创建

1.3.3 内存中的过程













字符串的比较

char[] chs = {'a','b','c'};
String s1 = new String(chs);
String s2 = "abc";
//比较字符串地址是否相同
System.out.println(s1 == s2);
//比较字符串内容是否相同
System.out.println(s1.equal(s2));
案例1:用户登录

package Heima.ZiFuChuan;
import Java_Learning.util.Scanner;
public class Loadtest {
public static void main(String[] args) {
for(int i =0;i<3;i++){
//定义用户名和密码
String username = "110";
String password = "119";
//键盘录入
Scanner s = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = s.nextLine();
Scanner p = new Scanner(System.in);
System.out.println("请输入密码:");
String pass = p.nextLine();
//比较内容是否相等
if(name.equals(username) && pass.equals(password)){
System.out.println("输入正确!");
break;
}
else {
if(2-i==0){
System.out.println("你的账户已锁定!");
}else{
System.out.println("您的输入有误,"+"还有"+(2-i)+"次机会");
}
}
}
}
}
案例2:遍历字符串

- s.length() //字符串长度
- s.charAt(i) //字符串第i-1个字符
import Java_Learning.util.Scanner;
public class BianLiZiFuChuan {
public static void main(String[] args) {
//键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String s = sc.nextLine();
//遍历字符串
for(int i =0;i<s.length();i++){
System.out.print(s.charAt(i));
}
}
}
案例3:拼接字符串

public class PinJieZiFuChuan {
public static void main(String[] args) {
//定义一个int类型的数组,用静态初始化
int [] arr = {1,2,3};
String z = ArrToString(arr);
System.out.println(z);
}
//定义一个方法,拼接
/*
两个明确:
返回值类型:String
参数:int[] arr
*/
public static String ArrToString(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;
}
}
案例4:字符串反转

import Java_Learning.util.Scanner;
public class FanZhuanZiFuChuan {
public static void main(String[] args) {
//导入Scanner对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要反转的字符串:");
String s = sc.nextLine();
String recerse = Recerse(s);
System.out.println(recerse);
}
//反转方法
/*
返回对象:字符串
参数: 字符串
*/
public static String Recerse(String s){
String ns = "";
ns+="[";
for(int i=s.length()-1;i>=0;i--){
if (i == 0){
ns+=s.charAt(i);
}else{
ns+=s.charAt(i);
ns+=",";
}
}
ns+="]";
return ns;
}
}

浙公网安备 33010602011771号