API和字符串

image-20220920152259763

image-20220920152429602

image-20220920152516044

image-20220920152607399

image-20220920152818258

image-20220920152754406

1.基础查找

左上角的框是java 所有的包(点击Java.lang)。
左下角的框是java.lang的包(点后,点里面的String)。
右边就会出现String

2.直接查询

点击显示,索引

image-20220920153640445

image-20220920153913014

image-20220920154158286

image-20220920154339181

image-20220920154802540

image-20220920154855780

image-20220920154953735

image-20220920155014023

image-20220920155328448

image-20220920155429709

image-20220920155621700

java的内存模型

image-20220920155847785

image-20220920160051170

image-20220920160111447

image-20220920160224081

image-20220920160303255

image-20220920160524939

image-20220920160800714

image-20220920160836954

image-20220920160939398

image-20220920161109284

image-20220920164854204

登录模拟比较

image-20220920165047354

选中next ctrl+b更进源码(过程不重要,知道键盘输入是new出来的)

image-20220920165413635

选中getCompleteTokenInBuffer 方法 接着ctrl + b

image-20220920165720775

选中 group 方法 接着ctrl + b

image-20220920165833349

选中 subSequence 方法 接着右键点

image-20220920200357673

image-20220920200606130

再选中subSequence 方法 接着ctrl+b

image-20220920200650097

再次选中newString,接着ctrl+b

image-20220920200809106

键盘输入是new 出来的

image-20220920200957185

image-20220920203702671

登录 对比字符串

public static void main(String[] args) {
    String rightUserName = "aloudmei";
    String rightPassword = "123456";

    Scanner scanner = new Scanner(System.in);

    for (int i = 0; i < 3; i++) {
        System.out.println("请输入用户名");
        String userName = scanner.next();
        System.out.println("请输入密码");
        String password = scanner.next();

        if (userName.equals(rightUserName) && password.equals(rightPassword)) {
            System.out.println("用户登录成功");
            break;
        } else {
            if (i == 2) {
                System.out.println("账号" + userName + "被锁定,请联系官方客服xxxx.xxxxxxx");
            } else {
                System.out.println("用户登录失败,用户名或密码有误,还剩下" + (2 - i) + "次机会");

            }
        }
    }

}
//遍历字符串 外加记录大写小写数字的个数
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 + "个");
}

image-20220924112521921

image-20220924144432418

image-20220924144657646

public static void main(String[] args) {
    //无参对象(可添加)
    StringBuilder sb = new StringBuilder();

    //添加元素
    sb.append(1);
    sb.append(3.3);
    sb.append(true);

    //反转
    sb.reverse();
	
	//长度
    int len = sb.length();
    System.out.println(len);
    //打印
    //普及
    //因为StringBuilder是Java已经写好的类
    //java在底层对他做了一些特殊处理
    //打印对象不是地址值是属性值
    System.out.println(sb);
    //变回字符串
    String str = sb.toString();
    System.out.println(str);
}
###		链式编程:
当我们在调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法

image-20220924152324954

返回值一样

image-20220924152708580

可以链式(串起来)

image-20220924152844993

更方便更快捷

image-20220924155948872

image-20220924160013558

image-20220924160104220

image-20220924160142568

public static void main(String[] args) {
    //创建对象
    StringJoiner sj = new StringJoiner("--","[","]");
    //添加元素
    sj.add("aaa").add("bbbb").add("cccc");
    //长度(包含字符)
    int len = sj.length();
    //打印
    System.out.println(len);
    System.out.println(sj);
}

image-20220924161411237
image-20220924161629157

image-20220924161651766

image-20220924161715922

自动调用main方法,执行main方法的 a直接赋值的,在栈和串池里面产生

a,在串池生成一个b,拼接的时候有变量参与,在堆新建一个StringBuilder()

通过append方法把s1和b都放到StringBuilder里,通过toString方法换成字符串ab

image-20220924163302998

toString的过程

image-20220924163356275

image-20220924163413282

字符串和变量一次加至少会有两个对象一个是StringBuilder和String对象

把s2的内容和c放进去,最后toString 再创建一个新的字符串对象

image-20220924164334956

image-20220924164349130

image-20220924164533174

image-20220924164659280

image-20220924164751240

r和String对象

把s2的内容和c放进去,最后toString 再创建一个新的字符串对象

image-20220924164334956

image-20220924164349130

image-20220924164533174

image-20220924164659280

image-20220924164751240

image-20220924165059187

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值