【Java】javaSE的基础知识概括(完)

十、String类

1.认识Sring类

字符串由一连串的字符组成,在Java中使用双引号""包裹表示,它可以是一个字符,也可以是一个字符序列或者由多个字符序列组成。字符串的应用非常广泛,因此Java语言提供了String类。

想要使用字符串,首先需要对其进行初始化,Java中String类中定义了三种基本初始化构造函数,如下:

String str_1=new String();               //无参数构造方法
String str_2=new String("abc");          //使用字符串作为参数的构造方法
String str_3=new String(new char[3]);    //使用字符数组作为参数的构造方法

2.常用方法

·字符串查找

字符串的查询操作主要有按索引位置查询和按值查询两种,前者是通过字符的索引位置获取对应位置的值,后者是通过值来获取其对应的位置索引。

String str="Hello Java!Hello Java String!";    //定义一个字符串

System.out.println("第一个J所在的索引位置是"+str.indexOf("J"));
System.out.println("从索引位置7开始,第一个Hello的索引位置是:"+str.indexOf("Hello",1));
System.out.println("最后一个J所在的索引位置是"+str.lastIndexOf("J"));
System.out.println("最后一个Java所在的索引位置是"+str.lastIndexOf("Java"));
System.out.println("从索引位置9开始,最后一个Java所在得索引位置是"+str.lastIndexOf("Java",9));


//输出结果
//第一个J所在的索引位置是6
//从索引位置7开始,第一个Hello的索引位置是:11
//最后一个J所在的索引位置是17
//最后一个Java所在的索引位置是17
//从索引位置9开始,最后一个Java所在得索引位置是6

·字符串修改

字符串的修改在String类中只有一些简单的截取、分割和连接。

String str="  Hello Java,Hello 2022!";  //定义一个字符串

System.out.println("将,换成!:"+str.replace(",","!"));
System.out.println("将所有的Hello替换成Hi:"+str.replaceAll("Hello","Hi"));
System.out.println("将第一个H换成h:"+str.replaceAll("H","h"));
System.out.println("将字符串全部转换成大写:"+str.toUpperCase());
System.out.println("将字符串全部转换成小写:"+str.toLowerCase(Locale.ROOT));
System.out.println("去掉字符串前后的空格:"+str.trim());
System.out.println("拼接Hello Java String!字符串:"+str.concat("Hello Java String!"));


//输出结果:
//将,换成!:  Hello Java!Hello 2022!
//将所有的Hello替换成Hi:  Hi Java,Hi 2022!
//将第一个H换成h:  hello Java,hello 2022!
//将字符串全部转换成大写:  HELLO JAVA,HELLO 2022!
//将字符串全部转换成小写:  hello java,hello 2022!
//去掉字符串前后的空格:Hello Java,Hello 2022!
//拼接Hello Java String!字符串:  Hello Java,Hello 2022!Hello Java String!

·字符串分割

字符串其实是一组字符的集合,那么,字符串理应可以分割成一个个字符序列或是一组组字符序列。事实也正是如此:

 String str="Hello Java,Hello 2022!";  //定义一个字符串
        String[] strs=str.split(" ");  //以空格为分割点分割字符串
        int count=0;
        for (String s:strs) {
            System.out.println("分割后的第"+ ++count+"字符是:"+s);

        }
        String ss="Hi Java!";
        count=0;
        char[] cArr=ss.toCharArray();
        for (char c:cArr) {
            System.out.println("分割后的第"+ ++count+"个字符是:"+c+" ");
        }
        System.out.println("字符串索引从0到6的子串是:"+str.substring(0,6));
        System.out.println("字符串从第一个o到第一个H的子串是:" +str.substring(str.indexOf("o"),str.lastIndexOf("H")));
        System.out.println("替换字符串从第一个o到第一个H的子串中的,为!:"
+str.substring(str.indexOf("o"),str.lastIndexOf("H")).replace(",","!"));

//输出结果为:
//分割后的第1字符是:Hello
//分割后的第2字符是:Java,Hello
//分割后的第3字符是:2022!
//分割后的第1个字符是:H 
//分割后的第2个字符是:i 
//分割后的第3个字符是:  
//分割后的第4个字符是:J 
//分割后的第5个字符是:a 
//分割后的第6个字符是:v 
//分割后的第7个字符是:a 
//分割后的第8个字符是:! 
//字符串索引从0到6的子串是:Hello 
//字符串从第一个o到第一个H的子串是:o Java,
//替换字符串从第一个o到第一个H的子串中的,为!:o Java!

十一、认识异常

1.什么是异常

在程序运行过程中,难免会出现一些奇奇怪怪的问题,有时通过代码很难去控制。比如:数据格式不对、网络不通畅、内存报警等。在Java中,将程序执行过程中发生的不正常行为称为异常。

Java异常可以分为运行时异常(非检测性异常)、检查型异常(非运行时异常)、和自定义异常。运行时异常不遵循处理或声明规则,大多是由于程序设计不当而引发的。通常只能在运行期才能被发现,如数组下标越界、访问空对象、类型转换异常等。这些错误完全可以通过改进程序加以克服,一般不对其进行捕获。

2.异常的捕获

异常的捕获,也就是异常的具体处理方式,主要有两种:异常声明throws以及try-catch捕获处理。

·异常声明throws

当前方法不处理异常,提醒方法的调用者处理异常 。语法格式如下:
修饰符  返回值类型   方法名(参数列表) throws  异常类型1,异常类型2···{
           
                   
   }
 

·try-catch捕获并处理

throws对异常并没有真正处理,而是将异常报告给抛出异常方法的调用者,由调用者处理。如果真正要对异常进行处理,就需要try-catch。语法格式如下:

try{             // 将可能出现异常的代码放在这里

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

具体实现如下: 

class Person implements  Cloneable{
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

public class TestDemo {
    public static void main(String[] args) {
        Person person=new Person();
        try {         //可能会抛出异常的代码
            Person person1=(Person) person.clone(); 
        } catch (CloneNotSupportedException e) {            //对捕获到的异常进行处理
            e.printStackTrace();
        }
    }
}

 

 

耗时四天终于把JavaSE的基础知识总结完啦~希望自己可以再接再厉,坚持写博客!

 

你可能感兴趣的:(Java,java)