Java学习-常用API-String

  1. API是什么?

  1. 包的概念
    1. 包是分门别类管理程序的
    2. 创建包
    3. 注意事项

  1. 示例:
  1. 创建字符串对象,封装字符串

代码示例:

packageapi;

publicclassapiString{

publicstaticvoidmain(String[]args){

//String创建字符串,封装字符串的三种方式

//1.通过无参构造器newString();

Strings1="itheima";

System.out.println(s1);

Strings2=newString();//new出来的对象是空白字符串

//String类型的变量中储存的是地址,但是在打印的时候,编译器会自动帮我们找到对应的内容

System.out.println(s2);

s2="itheima2";

System.out.println(s2);

//2.利用字符数组,通过newString(chars)有参构造器创建

//将字符数组转换为字符串

char[]chars=newchar[]{'i','t','h','e','i','m','a','3'};

Strings3=newString(chars);

System.out.println(s3);

//3.利用字节数组,通过newString(bytes)有参构造器创建

byte[]bytes=newbyte[]{97,98,99};

Strings4=newString(bytes);

System.out.println(s4);

}

}

3.String提供的常用方法

代码示例:

packageapi;

publicclassapiStringDemo1{

publicstaticvoidmain(String[]args){

//常用的String提供的方法

//获取字符串长度publicintlength()

Strings1="hhh,今天起晚了!";

ints1len=s1.length();

System.out.println(s1len);

//获取某个索引处的字符publiccharcharAt(intindex)

System.out.println(s1.charAt(5));

//将当前字符串转成字符数组并返回publicchar[]toCharArray();

char[]chars=s1.toCharArray();

System.out.println(chars);

//遍历转换后的数组

for(inti=0;i<chars.length;i++){

System.out.print(chars[i]);

}

//判断当前字符串与另一个字符串是否一样publicbooleanepuals(ObjectanObject)

Strings2="hhh,今天起晚了!";

System.out.println(s1.equals(s2));

//判断当前字符串内容是否与另一个一样publicbooleanepualsIgnoreCase(StringantherString)

System.out.println(s2.equalsIgnoreCase("HHH,今天起晚了!"));

//截取固定长的字串

System.out.println(s2.substring(3,9));

//从某一位置截取到最后

System.out.println(s2.substring(4));

//将字符串中某一特定值转换(替换)为另一特定值

System.out.println(s2.replace('h',''));

//判断字串中是否包含某个字串

System.out.println(s2.contains("hhh"));

//判断字串中是否以某一字串开头

System.out.println(s2.startsWith("hh"));

System.out.println(s2.startsWith("hhhh"));

//将字符串以某个内容分割为字符串数组

String[]strings=s1.split(",");

System.out.println(strings);//返回的是数组首地址

for(inti=0;i<strings.length;i++){

System.out.print(strings[i]+"");

}

}

}

4.注意事项

代码示例:

案例1

创建了两个对象,在堆中new了一个,常量区里创建了一个,最终结果为false

案例2

第一题为false,s2+"c"中是在进行运算,相当于s2也新建了一个堆中的对象

第二题为true,原因如下,以双引号的形式给出,则:

 

案例

案例代码:

packageapi;

importjava.sql.SQLOutput;

importjava.util.Scanner;

publicclassapiStringDemo2{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

for(inti=0;i<3;i++){

System.out.println("请您输入用户名:");

StringnameLogin=sc.next();

System.out.println("请您输入密码:");

StringpassWord=sc.next();

if(judgeOk(nameLogin,passWord)){

System.out.println("欢迎进入系统!");

break;

}

else{

System.out.println("您输入的用户名或密码有误,请重新输入!");

}

}

}

publicstaticbooleanjudgeOk(StringnameLogin,StringpassWord){

StringokName="itHeima";

StringokPassWord="123456";

return(nameLogin.equals(okName)&&okPassWord.equals(passWord));

//也可以用if语句

}

}

案例2:随机生成验证码

packageapi;

importjava.util.Random;

importjava.util.Scanner;

publicclassapiStringDemo3{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("请您输入希望生成验证码的位数:");

intn=sc.nextInt();

System.out.println("生成的验证码为:"+createPassword(n));

}

publicstaticStringcreatePassword(intn){

Randomr=newRandom();

Stringdate="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

char[]chs=date.toCharArray();

Stringcode="";

for(inti=0;i<n;i++){

intmm=r.nextInt(date.length());

code+=date.charAt(mm);

}

returncode;

}

}

 

  • 46
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值