java基础:常用API的使用

常用API

API:应用程序接口
文档:https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/lang/String.html

对象创建的原理

String的基本使用

package Test;


public class Test {
    public static void main(String[] args) {
//        方式一:直接使用双引号得到字符串对象
        String name="我爱你中国";
        System.out.println(name);

//        方式二:
//        1.public String():创建一个空白字符串对象,不含有任何内容(几乎不用)
        String s1=new String();//s1=""
        System.out.println(s1);

//        2.public String(String):根据传入的字符串内容,来创建字符串对象(几乎不用)
        String s2=new String("我是中国人");
        System.out.println(s2);

//        3.public String(char[] c):根据字符串数组的内容,来创建字符串对象
        char[] chars={'a','b','中','国'};
        String s3=new String(chars);
        System.out.println(s3);

//        4.public String(byte[] b):根据字节数组的内容,来创建字符串对象
        byte[] bytes={97,98,99,65,66,67};
        String s4=new String(bytes);
        System.out.println(s4);

        System.out.println("-----------------------------------");
        String ss1="abc";
        String ss2="abc";
        System.out.println(ss1==ss2);

        char[] chars1={'a','b','c'};
        String ss3=new String(chars1);
        String ss4=new String(chars1);
        System.out.println(ss3==ss4);

    }

}

String类的面试题

在这里插入图片描述
在这里插入图片描述

字符串的内容比较

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

package Test;


import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
//        1.正确登录名和密码
        String okName="itheima";//这里的指向的地址是:变量池
        String okPassword="123456";

//        2.请您输入登录名称和密码
        Scanner sc=new Scanner(System.in);
        System.out.println("登录名称:");
        String name=sc.next();//这里的指向的地址是:堆内存
        System.out.println("登录密码:");
        String password=sc.next();

//        java中的==比较的是地址
//        3.判断用户输入的登录名称和密码与正确的内容是否像相等
        if (okName.equals(name)&&okPassword.equals(password))
        {
            System.out.println("登录成功!");
        }
        else {
            System.out.println("用户名或密码错误");
        }
//        4.忽略大小写比较内容的API:一般用于比较验证码这样的内容
        String sysCode="23AdFh";
        String code1="23aDfH";
        System.out.println(sysCode.equals(code1));
        System.out.println(sysCode.equalsIgnoreCase(code1));
    }
}

字符串API的使用

在这里插入图片描述

package Test;


import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
//        1.public int length():获取字符串的长度
        String name="我爱你中国love";
        System.out.println(name.length());

//        2.public char charAt(int index):获取某个索引位置处的字符
        char c=name.charAt(1);
        System.out.println(c);

        System.out.println("------------------遍历字符串--------------------");
        for (int i=0;i<name.length();i++)
        {
            char ch=name.charAt(i);
            System.out.println(ch);
        }

//       3.public char[] toCharArray():把字符串转换成字符数组
        char[] chars=name.toCharArray();
        for (int i=0;i<chars.length;i++)
        {
            char ch=chars[i];
            System.out.println(ch);
        }

//        4.public String substring(int beginIndex,int endIndex):截取内容,(包前不包后)
        String name2="java是最厉害的编程语言";
//             012345678     89
        String rs=name2.substring(0,9);
        System.out.println(rs);
        String rs1=name2.substring(4,9);
        System.out.println(rs1);

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

//        6.public String replace(CharSequence target,CharSequence repllacement)
        String name3="金三胖是最厉害的80后,金三胖帮帮的!我好爱金三胖";
        String rs3=name3.replace("金三胖","*****");
        System.out.println(rs3);

//        7.public boolean contains(CharSequence s)
        System.out.println(name3.contains("金三胖"));
        System.out.println(name3.contains("金二胖"));//false

//        8.public boolean startsWith(String prefix)
        System.out.println(name3.startsWith("金三胖"));
        System.out.println(name3.startsWith("金三胖是最厉害的"));
        System.out.println(name3.startsWith("金三胖是最厉害的2"));

//        9.public String[] split(String s):按照某个内容把字符串分割成字符串数组返回
        String name4="王宝强,贾乃亮,陈羽凡";
        String[] names=name4.split(",");
        for (int i=0;i<names.length;i++)
        {
            System.out.println("选择了:"+names[i]);
        }

    }
}

String ·案例:验证码,登录,隐私号码

在这里插入图片描述

package Test;


import java.util.Random;
import java.util.Scanner;

//练习题:使用String完成随机生成5位的验证码
public class Test {
    public static void main(String[] args) {
//        1.定义可能出现的字符信息
        String dates="dafweaefsdfadfweadfcvzggjt1234567890";

//        2.循环5次,每次生成一个随机的索引,提取对应的自动连接起来即可
        String code="";
        Random r=new Random();
        for (int i=0;i<5;i++)
        {
//            随机一个索引
            int index=r.nextInt(dates.length());
            char c=dates.charAt(index);
            code+=c;
        }

//        3.输出字符串变量即可
        System.out.println(code);
    }
}

在这里插入图片描述

package Test;


import java.util.Random;
import java.util.Scanner;

//练习题:模拟用户登录
public class Test {
    public static void main(String[] args) {
//        1.定义正确的登录名称和密码
        String okLoginName="admin";
        String okPassword="itheima";

//        2.定义一个循环,循环3次,让用户登录
        Scanner sc=new Scanner(System.in);
        for (int i=1;i<3;i++)
        {
            System.out.println("请输入登录名称:");
            String loginNmae=sc.next();
            System.out.println("请您输入登录密码:");
            String password=sc.next();

//            3.判断登录是否成功!
            if (okLoginName.equals(loginNmae)){
//                4.判断密码是否正确
                if (okPassword.equals(password))
                {
                    System.out.println("登录成功!欢迎进入系统随意浏览----");
                    break;
                }else {
//                    密码错误了
                    System.out.println("您的密码不正确!您还剩余"+(3-i)+"次登录机会!");
                }
            }else {
                System.out.println("登录名称错误了!"+(3-i)+"次登录机会!");
            }
        }
    }
}

在这里插入图片描述

package Test;


import java.util.Random;
import java.util.Scanner;

//练习题:手机号码屏蔽
public class Test {
    public static void main(String[] args) {
//        1.键盘录入一个手机号码
        Scanner sc=new Scanner(System.in);
        System.out.println("请您输入您的手机号码:");
        String tel=sc.next();

//        2.截取号码的前三位,后四位   16656668520
        String before=tel.substring(0,3);// 0     1     2
        String after=tel.substring(7);//从索引7开始截取到手机号码末尾

        String s=before+"****"+after;
        System.out.println(s);

    }
}

版权声明:本文为ACBYCL原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。