程序员Android开发成长史

Android_开发_Day13_String

2019-08-13  本文已影响4人  不要问我问就是百度

Android_开发_Day13_String

目的:

了解Java中字符串的使用,以及怎么使用系统定义的方法来处理字符串。

技术:

<1> String:String定义的常量字符串是不可变的。”==“是比较两个对象是否相同,即存放的地址是否相同,而equals比较内容是否相同。String也是有构造函数的,因此可以用String str = new String();来创建字符串,但是里面是空,并且内容不可改变,那就没有意义了。当然可以使用字节数组创建一个字符串。字符串中我们常用到的方法有:charAt获取字符串中的一个字符,索引值也是从零开始的,记住不要越界哦。两个字符串的比较compareTo比较两个字符串的大小,str.compareTo(要比的字符串),返回大于0则比括号里的大,大多少就是几,反之就小于零,比较时按字典顺序。两个字符串的连接用concat。contains判断一个字符串是否包含另一个字符串。判断字符串是以什么结尾用endWith();同理以什么什么开头用startWith。比较两个字符串的内容是否相同用equals。indexof判断一个字符串在另外一个字符串中的位置,返回是第一次出现的位置,不存在返回值是-1。获取字符串的长度length。将字符串前面和后面前面和后面的空格删除trem();。

<2> 可变字符串:StringBuffer(线程安全,效率不高)和StringBuilder(线程不安全,效率高)。该字符串数组是,一个动态分配内存的数组,因此能够完成增,删,该,插的基本工作,分别对应方法append增,delete删,replace改,insert插,因为方法众多这里就只能让你们自己去百度,可以提供一个网址

技术如何使用:

我们可以模拟一个屏幕解锁的操作写一个小小的demo,用数字123456789来模拟表示图案解锁的9个点,用数字的排列顺序来表示图案绘制的顺序。进行输入操作时可以用空格隔开,但是问题就有了,由于用户绘制多少个点是不知道的,因此如果用数组来存放点的话就不知道用户的输入,因此就干脆用String,让终端读取一行字符串储存到字符串里面,然后可以使用字符串里面的trem方法来将多余的空格去掉,方便比较得出结果,比较的时候可以用equals方法,因此代码如下:

import java.util.Scanner;

public class ScreenLock {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String str;
        while (true) {
            System.out.print("请设置您的图案:");
            str = scanner.nextLine();
            str = str.trim();//去掉输入时的空格以防空格带来影响
            System.out.print("请确您的图案:");
            String str1 = scanner.nextLine();
            if (!str.equals(str1.trim())) {
                System.out.println("两次图案绘制不一致,请重新输入!");
            }
            else {
                break;
            }
        }
        System.out.println("密码设置成功!");
        int i;
        for (i = 0; i < 5; i++) {

            System.out.print("请绘制图案:");
            String str2 = scanner.nextLine();
            if (str.equals(str2.trim())) {
                break;
            }
            else {
                System.out.println("密码错误请重新输入!");
            }

        }
        if (i == 5){
            System.out.println("你已经累计输入密码错误次数达到上限,程序已退出!!!");
        }
        else {
            System.out.println("密码正确!");
        }

    }
}

实际使用效果:

批注 2019-08-13 192800.jpg

总结:

String常用方法:
equals
charAt
compareTo
concat
contains
endsWith
startsWith
indexOf
length
substring
toCharArray
toLowerCase / toUpperCase
trim
StringBuilder常用方法:
append增
delete删
replace改
insert插

上一篇下一篇

猜你喜欢

热点阅读