初识Java(六)
创始人
2024-11-12 16:34:04

一、String类

1、类中有操作字符串的方法

查找:找到某个字符是字符串内的第几个:charAt;找到某个字符在字符串内第一次出现的下标:index

替换:替换所有:replaceAll;替换首个:replaceFirst

比较:比较对象内的字符是否相等:equals;

转换:转成大写:toUpperCase;转成小写:toLowerCase;类型转换:转成int类型:valueOf;格式化:format

拆分:以某个符号拆分:split(String regex) ;拆分后,分为几组:String[] split(String regex, int limit)

截取:String substring(int beginIndex) :从索引处截取到结尾;String substring(int beginIndex, int endIndex) :截取部分内容

其他:删除字符串内的空格:trim

2、StringBuffer和StringBuilder

上面那些操作字符串的方法,不是在字符串本身操作的,最后操作完之后会返回一个新的字符串。

String类的不可变性

因为String类内部获取字符下标的value的修饰符是private,隐藏在类里面,并且类里面也没有操作value的方法,所以获取不到下标,就操作不了字符串。

那么是如何操作的呢?

将String类转换为StringBuffer或者StringBuilder这两个类,这两个类与String类的大部分功能相似。

第一步:String类转换为StringBuilder类。方法:通过调用StringBuilder的append方法或者构造方法转换,然后再对字符串进行操作。

第二步:操作完后,StringBuilder类转换为String类。方法调用StringBuilder类的toString方法

但是这两个有区别:

StringBuffer可以对线程进行保护,但是效率低,而StringBuilder不对线程保护,但效率高。

 

二、异常

例如常见的:算数异常,空指针异常,这些都属于异常。
异常分为编译时异常和运行时异常。

        产生的异常需要处理,如果在某时不想处理,就先抛出这个异常,并且还要声明一下,告诉方法的调用者在当前方法不处理这个异常,这里有个异常需要你来捕获处理一下,然后将异常向上传递,传给方法的调用者,但是如果是运行时异常抛出后,不需要处理,直接交给jvm,编译时异常,就继续向上传递了,若方法调用者不想处理,就继续向上传递,最后传到jvm里面,就中断程序了。

抛出异常:

public static int getElement(int[] array, int index){ if(null == array){ throw new NullPointerException("传递的数组为null");  //异常的抛出使用throw关键字 } }

异常的声明:

public void OpenConfig(String filename) throws IOException{ //使用throws声明异常 if(filename.endsWith(".ini")){ throw new IOException("文件不是.ini文件"); }

异常的捕获处理:

try{ // 将可能出现异常的代码放在这里 }catch(要捕获的异常类型 e){ // 如果try中的代码抛出异常了,此处catch捕获时异常类型与try中抛出的异常类型一致时,或者是try中抛出异常的基类 时,就会被捕获到 // 对异常就可以正常处理,处理完成后,跳出try-catch结构,继续执行后序代码 }[catch(异常类型 e){ // 对异常进行处理 }finally{ // 此处代码一定会被执行到 }]

finally这个关键字的功能是用来释放资源的,所以finally处的代码无论异常有没有被成功捕获都会被执行。

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...