前言:
开始学到api的String,整理下心得。打好基础,daydayup!
API:
API是什么?
API(Application Programming Interface)又名应用程序编程接口。是别人编好的程序的合集。
为什么要使用API?
因为可以直接拿去调用解决问题。开发效率高。
API中都有哪些程序可以使用?
java有api使用手册(但是是英文的),需要jdk17的中文api文档的可以点击这里—— jdk17API中文手册
如何在java中使用API?
程序都放在包(package)里,需要到包里去调用。
java中如何导包?
有几种情况:
1:当前程序中,要调用自己所在包下的其他程序,可以直接调用。(同一个包下的类,互相可以直接调用)
2:当前程序中,要调用其他包下的程序,则必须在当前程序中导包, 才可以访问。导包格式:
import 包名.类名;
例:如下图
3:当前程序中,要调用java提供的程序,也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用。
4:当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问。
例:day11,day12里都有一个Car程序,在当前程序引入day12的包以后,可以直接写Car命令使用day12的Car命令。但如果想使用day11的Car命令,则必须带包名使用。
String语句
什么是String?
String是一种常用API,属于java.lang包下,代表字符串对象,可以用来封装字符串数据,并提供了很多操作字符串的方法。
String使用场景有哪些?
除了赋值字符串以外,还可用于账号登陆匹配,屏蔽不规范文字,信息关键字检索等多个场合。
String类创建对象封装字符串数据的方式?
1,直接使用双引号赋值
String a = "llll"
2,调用构造器初始化字符串对象
String a = new String("lll")
String的常用方法
1,获取字符串的长度
格式:public int length()
例:
String q = "yojimbo";
System.out.println(q.length());
2,提取字符串中某个索引位置的字符
格式:public char charAt(int index)
例:
String q = "yojimbo";
char q1 = q.charAt(1);
System.out.println(q1);
3,把字符串转换成数组,再进行遍历
格式:public char[] toCharArray():
例:
String q = "yojimbo";
char [] q3 = q.toCharArray();
for (int i = 0; i < q3.length; i++) {
System.out.print(q3[i]+" ");
}
System.out.println("");
4,判断字符串内容,如果相同输出true
格式:public boolean equals(Object anObject)
例:
String e = new String("lol");
String e1 = new String("lol");
System.out.println(e == e1);//false
//虽然内容相同,但是地址不同,所以输出false
System.out.println(e.equals(e1));//true
//所以比较内容要用这种方式
5,忽略大小写比较字符串内容
格式:public boolean equalsIgnoreCase(String anotherString)
例:
String r = "qwer";
String r1 = "QWER";
System.out.println(r.equalsIgnoreCase(r1));//true
6,截取字符串内容(包前不包后)
格式:public String substring(int beginIndex, int endIndex)
例:
String t = "yojimbo就是我";
String t1 = t.substring(0,7);
System.out.println(t1);
//可输出yojimbo
7,从当前索引位置一直截取到字符末尾
格式:public String substring(int beginIndex)
例:
String t2 = t.substring(7);
System.out.println(t2);
//可输出“就是我”
8,把字符串中的某个内容替换成新的内容,并返回新的字符串
格式:public String replace(CharSequence target, CharSequence replacement)
例:
String y = "你是一个大笨蛋";
String y1 = y.replace("笨蛋","天才");
System.out.println(y1);
9,判断字符串中是否包含某个关键字
格式:public boolean contains(CharSequence s)
例:
String u = "我是大天才";
System.out.println(u.contains("天才"));
//查看是否包含天才
10,判断字符串是否以某个字符串开头
格式:public boolean startsWith(String prefix)
例:
String i = "yojimbo";
System.out.println(i.startsWith("yo"));
//查看是否以yo开头
11,把字符串按照某个指定内容分割成多个字符串,放到一个字符串数组中返回来
格式:public String[] split(String regex)
例:
String o = "luck;kuku;shuai;tiancai";
String [] o1 =o.split(";");
System.out.println(o1);
for (int j = 0; j < o1.length; j++) {
System.out.print(o1[j]+" ");
}
System.out.println("");
//把数据拆分成luck kuku shuai tiancai,4个单独的数据
案例:
1,完成用户登陆
需求:系统正确的登录名和密码是:yojimbo/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序(注意:要求最多给用户三次登录机会)
实验思路:1,可以输入用户名及密码(Scanner);2,可以对比正确号码(equals);3,只能输错3次密码(for<3)
public class StringDemo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int i = 0;i < 3;i ++) {
System.out.println("请输入用户名");
String n= sc.next();
System.out.println("请输入密码");
String p = sc.next();
boolean a =login(n,p);
if (a){
System.out.println("登陆成功");
break;
}else{
System.out.println("登陆失败,请重新登陆");
}
}
}
public static boolean login(String name, String password){
String okname = "yojimbo";
String okpassword = "123456";
return (name.equals(okname)&& password.equals(okpassword));
}
}
实验结果:实验成功
2,随机生成验证码
需求:实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母。
实验思路:1,可随机生成几位验证码;2,随机输出数字,字母;
public class StringDemo4 {
public static void main(String[] args) {
System.out.println(code(8));
}
public static String code(int n){
String q ="";
String q1 ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random r = new Random();
for (int i = 0; i < n; i++) {
int imp= r.nextInt(q1.length());
q += q1.charAt(imp);
}
return q;
}
}
实验结果:实验成功
总结结束,撒花!!!!!