JAVA常见API
一、字符串String
字符串的内容是不可变的,它的对象在创建后不能被更改
1. 创建字符串:
①直接赋值
②new关键字
package Test_API;
public class Test {
public static void main(String[] args) {
//1.直接赋值
String s="abc";
System.out.println(s);
//2.new + 构造方式去创建字符串对象
String s1=new String();
System.out.println(s1);
//3. new + 有参构造
String s2=new String("abcd");
System.out.println(s2);
//4. new + 有参构造(字符串数组)
char[] chs= {'a','b','c'};
String s3=new String(chs);
System.out.println(s3);
//5.new + 有参构造 (字节数组)
byte[] bytes={97,98,101};
String s4=new String(bytes);
System.out.println(s4);
}
}
两种方式区别
直接赋值:代码简单,直接复用串池的数据,节省内存
new:每次都会创建一个新的的字符串对象
2. 字符串比较
boolean equals方法(要比较的字符串) 完全一样结果才是true,否则为false;
boolean equalsIgnoreCase(要比较的字符串) 忽略大小写的比较
案例:已知正确的用户名和密码,请用程序实现模拟用户登录总共给三次机会,登录之后,给出相应的提示
package API_Test;
import java.util.Scanner;
public class test {
public static void main(String[] args){
//1.已知正确的用户名和密码
String rightUsername="zhangsan";
String rightPassword="1234";
//2.让用户录入登录的用户名和密码
Scanner sc = new Scanner(System.in);
//3.比较
for(int i=1;i<=3;i++){
System.out.println("请输入用户名:");
String username=sc.next();
System.out.println("请输入密码");
String password=sc.next();
boolean result=username.equals(rightUsername) && password.equals(rightPassword);
if(result == true){
System.out.println("登录成功");
break;
}else{
if(i<=2){
System.out.println("登录失败,还剩"+(3-i)+"次机会");
}else{
System.out.println("登录失败,锁定");
}
}
}
}
}
3.遍历字符串
根据索引返回字符:字符串对象.charAt(int index)
数组的长度:数组名.length
字符串的长度:字符串对象.length()
package API_Test;
import java.util.Scanner;
public class test1 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s=sc.next();
for(int i=0;i<s.length();i++){
System.out.println(s.charAt(i));
}
}
}
4. 字符串的截取
截取到指定范围 字符串对象.substring(int beginIndex , int endIndex)
截取到末尾 字符串对象.substring (int beginIndex)
5. 字符串替换
字符串对象.replace(旧值,新值)
6.判断字符串是否包含另一个字符串
str1是否包含str2 boolean re=str1.contains("str2")
str1从1索引开始是否包含str2 boolean re=str1.startsWith("str2",1);
7.字符串查找
查找当前字符串第一次出现ch的位置 int index=str.indexOf(int ch) //参数为ch的ASCLII码
查找当前字符串最后一次出现ch的位置 int index=str.lastIndexOf(int ch)
如果查找不存在,返回-1
8.判断是否为空
boolean empty = str.isEmpty( )
9.字符串转换
把字符串转为字符数组 char[ ] array = str.tocharArry() //"abcd" ——> ['a' , 'b' ,'c' , 'd']
数组变为数字符串 String res=ArrayUtil.arrayToString(arr)
大小写转换 String upperCase = str.toUpperCase() str.toLowerCase()
10. StringBuilder
StringBuilder是字符串的一个工具类,可以让我们拼接字符串的时候效率更高
public StringBuilder() 创建StringBuilder容器,不含有任何内容
public StringBuilder(String str) 创建StringBuilder容器,包含指定的内容
public static void main(String[] args){
StringBuilder s=new StringBuilder();//创建StringBuilder的对象(容器)空参构造
StringBuilder s1=new StringBuilder("abc");//创建StringBuilder的对象(容器)带参构造
System.out.println(s1);
s1.append("d");//添加
s1.reverse(); //反转
System.out.println(s1);
}
StringBuilder append(任意类型) 添加数据
StringBuilder reverse() 反转容器中的内容
int length() 返回长度(字符的个数)
String toString() 转回String字符串对象
11. ArrayList集合
如果没有进行限定,集合里面可以存储任意数据类型的数据
ArrayList list = new ArrayList(); //创建一个长度为0的ArrayList集合
泛型:限定集合当中的数据类型 <数据类型>
ArrayList<String> list1=new ArrayList<String>();
集合增删改查
//添加数据
list1.add("aaa");
list1.add(0,"bb");
list1.add("ccc");
//删除元素
list1.remove("aaa");
String res=list1.remove(1); //res为被删除的元素
//修改元素
String r=list1.set(0,"zzz");
//获取元素
for(int i=0;i<list1.size();i++){
//依次获取集合中的每一个元素
System.out.println(list1.get(i));
}
12. Math类

更多推荐



所有评论(0)