当前位置: 主页 > JAVA语言

java找出字符串不同处-java 找出字符串相同

发布时间:2023-06-01 07:10   浏览次数:次   作者:佚名

一、java异常处理

1、java所有类均继承自Object类,java.lang包中的异常类Throwable类亦如此。其派生出两个子类:Error类和Exception类。其中Error类主要处理运行环境的异常,而Exception类则是可以被抛出的异常类型,接下来主要讨论这个类。Exception分为RunTimeExcepiton和其他Exception。RunTimeExcepiton称为运行时异常,例如空指针异常、算术异常等。

2、java通过try-catch或try-catch-finally处理异常。并且可以同时捕获多种不同类型的异常。捕获异常时,可以通过printStackTrace()打印异常的错误信息。finally表示在处理异常后要做的动作,例如关闭某某连接等。

try{
 //一些会抛出异常的方法
}catch(Exception1 e){
 //子类异常在前面处理
}catch(Exception2 e){
 //子类异常在前面处理
}catch(Exception e){
 //e.printStackTrace();
 //Exception为父类异常,应在最后处理
}finally{
 //最终要执行的代码
}

二、java的字符

3、String类是引用类型,java每一个字符串都是一个对象。String类对象创建后不能被修改,所谓的修改其实是创建了新的对象,所指向的内存空间不同。

String s1 = "字符串测试";
s1 = "java" + s1;

上面的代码先是声明了一个字符串对象s1,s1存放了到字符串对象的引用,然后第二行代码改变了s1,其实质是创建了新的字符串对象,变了s1指向了新创建的字符串对象。

4、“==”比较的是两个对象的内存地址,如果只是想比较两个字符串对象的内容是否相同,可以使用equals()方法。

java 找出字符串相同_java获取字符串最后一个字符_java找出字符串不同处

5、但如果需要一个可以改变的字符串对象,可以用StringBuilder类创建。该类提供了多个方法用于操作字符串。例如append()用于追加内容到当前对象的末尾,insert()用于将内容插入到当前对象的指定位置,length()用于获取字符串的长度,toString()用于将当前对象转换为String对象,等等。

三、java的常用类

6、基本数据类型不具备对象的特性,无法调用方法。为了让基本数据类型也具备对象的特性,java为每个基本数据类型都提供了一个包装类,这样就能像操作对象那样来操作基本数据类型。每个包装类都提供了本类和其他基本数据类型进行转换的方法,例如Integer类,提供了floatValue()、intValue()、toString()等方法,用于将Integer类型转为对应的基本数据类型。

基本数据类型

对应的包装类

byte

Byte

short

Short

java 找出字符串相同_java获取字符串最后一个字符_java找出字符串不同处

int

Integer

long

Long

float

Float

double

Double

char

java获取字符串最后一个字符_java找出字符串不同处_java 找出字符串相同

Character

boolean

Boolean

7、java.util.Calendar类是一个抽象类,可以通过调用getInstance()静态方法获取一个Calendar对象,此对象用于获取当前日期和时间。

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR); //年
int month = c.get(Calendar.MONTH) + 1; //月,0表示1月份
int day = c.get(Calendar.DAY_OF_MONTH); //日
int hour = c.get(Calendar.HOUR_OF_DAY); //小时
int min = c.get(Calendar.MINUTE); //分钟
int sec = c.get(Calendar.SECOND); //秒

8、Math类位于java.lang包中,包含用于执行基本数学运算的方法,Math类的所有方法都是静态方法,可以直接用类名访问,例如Math.round()。除了round()用于四舍五入后取整,还有,floor()返回小于参数的最大整数,ceil()返回大于参数的最小整数,random()返回[0,1)之间的随机浮点数。

四、Collection集合接口

9、Collection集合接口继承自Iterable接口,Iterable接口有一个Iterator接口型的方法iterator()。Collection接口的所有集合类都实现了该方法,在该方法里实现了Iterator接口的所有方法。Iterator接口是一个迭代器,是所有java集合的顶层接口,其有三个接口方法:

//Collection接口的集合类ArrayList
//用<>表示泛型,限制该序列只能存放规定的类型及其子类型的对象
//String是引用类型,java中每个字符串都是一个对象。
List listTest = new ArrayList(); 
listTest.add("Jack"); //添加第一个元素
listTest.add("Tom"); //添加第二个元素
listTest.add("Bob"); //添加第三个元素
Iterator it = listTest.iterator(); //构造listTest对象的迭代器
//通过迭代器遍历元素
while(it.hasNext()){
 String obj = it.next();
 System.out.println(obj);
}

java 找出字符串相同_java找出字符串不同处_java获取字符串最后一个字符

10、Collection 接口主要派生出List、Set、Queue等几个常用集合接口:

11、List接口有两个比较常用的实现,ArrayList类和LinkedList类:

12、ArrayList类有几个比较常用的增删改查方法,如get()、set()、add()、addAll()、remove()、removeAll()、size()、contains()、containsAll()等。

String[] s = {"aaa","bbb"}; //定义一个数组,用于测试addAll()
listTest.add("cjt"); //在序列最后添加元素“cjt”
listTest.add(2, "chenjt"); // 在索引为2的位置,添加“chenjt”
listTest.addAll(Arrays.asList(s)); //该方法接收一个Collection类的具体实例
listTest.addAll(2, Arrays.asList(s));//将数组添加到索引为2的位置
listTest.remove(0); //删除第一个索引位置的元素
listTest.removeAll(Arrays.asList(s)); //删除数组s包含的所有元素
listTest.set(0, "ddd"); //修改索引为0位置上的序列元素值
listTest.get(0); //获取listTest序列对象的第一个元素
listTest.size(); //获取序列长度
listTest.contains(listTest.get(0)); //是否包含某个对象,返回boolean值

13、可以用for循环的方式遍历List序列的元素。

/*for循环*/
public void getTest(){
 int len = listTest.size();
 String temp;
 for(int i=0; i

14、Set接口有一个实现类是HashSet类。该类有几个常用的增删查的方法,如add()、addAll()、remove()、removeAll()、size()等(Set是无序的,所以没有List中诸如get()、set()方法)。用法和ArrayList类的方法一致。

Set setTest = new HashSet();
setTest.add("hahaha"); // 向setTest对象添加元素
System.out.println(setTest);

五、Map接口

java获取字符串最后一个字符_java 找出字符串相同_java找出字符串不同处

15、Map接口提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value。Map中的键值对以Entry类型的对象实例形式存在。key值不可重复,value值可以重复。

16、Map支持泛型,形如:Map。

17、Map接口提供了几个常用的方法,如put()、get()、keySet()、entrySet()、getKey()、getValue()、size()、containsKey()、containsValue()等。

Map stu = new HashMap();
//添加一个键值对,如果要修改某个已存在键的对应value值,也是用这个方法
stu.put("01","chenjt");
stu.put("02","zhangxh");
stu.put("03","cjt");
stu.put("04","hah");
stu.remove("04"); //成功删除key为04的键值对
stu.size(); //获取stu对象的长度
Object str1 = stu.get("02"); //获取key为02的值
System.out.println("key为02的value值为:" + str1);
//判断某个key是否已存在
System.out.println("该key是否已存在:" + stu.containsKey("03"));
//判断某个value是否已存在
System.out.println("该value是否已存在:" + stu.containsValue("zhangxh"));
Set stuKey = stu.keySet(); //获取所有的键
String stuName;
for(String stuId : stuKey){
 stuName = stu.get(stuId);
 System.out.println("key值:" + stuId);
 System.out.println("value值:" + stuName);
}
Set> entrySet = stu.entrySet(); //取得所有键值对
for(Map.Entry entry : entrySet){
 System.out.println("取得键:" + entry.getKey()); //取值
 System.out.println("取得值:" + entry.getValue());//取值
}

六、Collections工具类

18、Collections.sort()用于对List进行排序。

七、Comparable和Comparator接口

19、Comparable接口定义了默认的比较规则,可以进行自然排序。其实现类必须实现compareTo()方法,该方法返回正数表示大java找出字符串不同处java找出字符串不同处,负数表示小,0表示相等。

20、Comparator接口用于定义临时的比较规则,其实现类需要实现compare()方法。