栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA复习--String类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA复习--String类

String类

思维导图

关于String的面试问题
(一)

String s2 = new String(“abc”);
实际上创建了两个对象,”abc“是创建在常量池中的变量
new String() 是构造器在堆内存中创造的变量
所以实际上创造了两个对象
String s1 = “abc”;
实际上在这段代码的顺序中,它并没有创造变量
而是直接指向的s2在常量池中创造的变量abc
故而s1 == s2 是错误的

(二)

String类常用的API

运用实例

package StringAPI;

public class StringApiDemo {
    public static void main(String[] args) {
        String name = "我思故我在Ithink";
        //public int length()  获取字符串的长度
        int a = name.length(); // 拿int类型接收一下方法
        System.out.println(a); // 11

        //public char charArt(int index) 获取某个索引位置处的字符
        char c = name.charAt(1);
        System.out.println(c);
        System.out.println("-------引申部分:调用该方法对字符串进行遍历-------");
        for (int i = 0; i < name.length(); i++) {
            char c1 = name.charAt(i);
            System.out.println(c1);
        }

        //public char[] toCharArray() 把字符串转换成字符数组
        char[] chars = name.toCharArray();
        System.out.println(chars); // 另外一种遍历字符串的方式

        //public string substring(int beginIndex,int endIndex) 截取内容 包前不包后
        String s2 = name.substring(0,5);
        System.out.println(s2);

        //public String substring(int beginIndex) 从当前索引一直截取到末尾
        String s3 = name.substring(5);
        System.out.println(s3);

        //public String replace(CharSequence target,CharSequence replacement) //替换掉某处的字符
        String s4 = name.replace("我思故我在","你思故你在");
        System.out.println(s4);

        //public boolean contains(CharSequence s) //判断字符串中是否含有关键字
        System.out.println(name.contains("我思")); // true

        //public boolean starsWiths(String prefix) //判断字符串以什么开始
        System.out.println(name.startsWith("我思故我在")); //true
        System.out.println(name.startsWith("思故我在")); //false

        //public String[] split(String s) //按照某个内容把字符串分割成字符串数组返回
        String name4 = "女单,男单,混双";
        String[] ch = name4.split(",");
        for (int i = 0; i < ch.length; i++) {
            System.out.println("选择了:" + ch[i]);
        }
    }
}

不同的API方法的调用可以在代码编写的时候更加的方便简单

带入具体项目的运营

(一)随机生成一个五位的验证码plus版

package StringAPI;

import java.util.Random;

public class StringYanZhengMa {
    public static void main(String[] args) {
        //定义可能出现的字符串的信息
        String datas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        //循环五次每次生成一个随机的索引,提取对应的字符连接起来
        String code = "";
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            int Index = r.nextInt(datas.length()); // 在datas范围内随机一个数字出来作为索引的数字
            char c = datas.charAt(Index);
            code += c;
        }
        //输出字符串变量
        System.out.println(code);
    }
}

(二) 用户登录程序

package StringAPI;

import java.util.Scanner;

public class StringLogin {
    public static void main(String[] args) {
        //设置好正确的登录名称以及密码
        String okname = "YangLetong";
        String okpassword = "YLT1019";

        //给予三次登录机会
        //设置for循环在循环年内进行查验
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入您的用户名称:");
            String name = sc.next();
            System.out.println("请输入您的密码");
            String password = sc.next();

            //分别判断输入用户名以及密码是否一致
            if(okname.equals(name)){
                if(okpassword.equals(password)){
                    System.out.println("登录成功!");
                    break;
                }
                else{
                    System.out.println("密码输入错误!");
                    System.out.println("您还剩余" + (2-i) + "次机会");
                }
            }else{
                System.out.println("用户名输入错误!");
                System.out.println("您还剩余" + (2-i) + "次机会");
            }
        }
    }
}

(三)手机号加密

package StringAPI;

import java.util.Scanner;

public class StringPhoneShield {
    public static void main(String[] args) {
        //键盘录入一个手机号码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的手机号:");
        String  tel = sc.next();
        //截取手机号的前三位后四位
        String before = tel.substring(0,3);
        String after = tel.substring(7);

        String tel1 = before + "****" + after;
        System.out.println("机密后的手机号为:");
        System.out.println(tel1);
    }
}

运行成果

以上则是对String类的一个较完整的总结
String类在后期的项目开发中非常的常见并且它附带的API非常的丰富
提供了很多的便利
是在Java学习中应该很好掌握的知识点

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号