JAVA基础知识总结2——异常、数组、字符串、包装类

异常、数组、字符串、包装类


1.异常:运行期出现的错误,观察错误的名字和行号最重要
异常处理:try{可能出现异常的语句}catch(异常类型 对象){异常处理}
            先逮小的异常,再逮大的异常
            重写方法需要抛出与原方法所抛出异常类型一致或不抛出异常
finally:异常的统一出口,不管是否出现异常,都执行统一的代码                
throws:在方法定义上使用,表示此方法中不进行异常的处理,而是交给被调用处处理。当调用抛出了异常的方法时,必须写上异常处理语句。
throw: 指在方法中人为的抛出一个异常类对象(这个异常类对象可能是自己的实例化或者是抛出已存在的)
Throwable:异常最大的父类,其分为两个字类:Exception和Error。
            Exception表示程序处理的异常,Error表示JVM错误
RuntimeException类:  是Exception类的子类,其定义的异常可以选择性的进行处理    


2.数组:
        java语言中声明数组时不能指定其长度
        如:int a[5]; 这样声明一维数组是非法的,
            int[]s = new int[5] 允许的,创建一个大小为5类型为int的数组。合法的,这个是先在栈中开一个空间名为a,然后new再在堆中开辟5个空间。
       对象数组的创建:Integer testInteger = new Integer(5);// 允许的,创建一个值为5的Integer对象
       数组的拷贝:public static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
              用于将数组第srcPos项元素开始的length个元素拷贝到目标数组从destPos项开始的length个位置


3.String类:字符串常量就是String的匿名对象
            String表示不可变的字符序列,字符串一旦定义则不可改变
    实例化方式:开发中使用直接赋值方式
            直接赋值(String str = “字符串”;)会开辟一块堆内存空间,并且自动保存在对象池中以供下次重复使用
            构造方法(String str = new String(“字符串”);)会开辟两块内存空间,不会自动入池,其中一块作为垃圾
    字符串相等比较:
            “==”在String中比较的内存地址的数值
            String类中重写了equals方法,同来进行字符串内容的比较
    String类方法:
            charAT(int index):返回字符串的第index个字符    
            length():返回字符串的长度
            indexOf(String str):返回字符串中出现str的第一个位置
            indexOf(String str, int fromIndex):返回字符串中从fromIndex开始出现str的第一个位置
            equalsIgnoreCase(String another):比较字符串与another是否一样(忽略大小写)
            replace(char oldChar,char newChar);在字符串中用newChar字符替换oldChar字符
            substring(int beginIndex) :返回一个新的字符串,它从指定索引处的字符开始,直到此字符串末尾。
            toCharArray():将字符串以字符数组的形式返回
            split(String regex):根据给定的正则表达式的匹配拆分此字符串,将字符串以字符串数组的形式返回
            P520.3  将一个字符串拆成字符串数组,再把每个数组元素转换成整形变量
                String data = scan.next();     
                String result [] = data.split("");
                int temp = Integer.parseInt(result[i]) ;        
      java.lang.StringBuffer 代表可变的字符序列
           方法:删除,添加
           StringBuffer类使用append()方法可以完成字符串的连接操作,
           而String类使用“+”完成;



4.包装类:Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,因此,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。
    用途:  a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
                 b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法

                 c、将本类型与其他类型进行转换;
                 d、将字符串与本类型及包装类型相互转换。
  包装类的使用:

  •   基本数据类型转换成包装类(装箱),包装类转换成基本数据类型(装箱)
  1. Integer i1 = new Integer(100); //方法一
  2. Integer i1 = 100;//方法二
  3. int value = i1;//方法1
  4. int value = i1.intValue();//方法2
  •   包装类转换成其他基本数据类型
  1. Integer i = new Integer(100);
  2. double d = i.doubleValue();
  • 基本数据类型转换成字符串
  • 字符串转换成基本数据类型

5.equals() 和== 的区别

  • 在Java中,任何类型的数据都可以用 “==”进行比较是不是相等,一般用于基本数据类型的比较,比较器存储的值是否相等。但是如果用于引用类型的比较,则是比较所指向对象的地址是否相等,在这点上,跟object类提供的equals()方法的作用是一致的。
  • 对于equals()方法
    1) 首先,不能用于基本数据类型的变量之间的比较相等;
    2) 如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
    3) 诸如StringDate等类都对equals方法进行了重写,比较的是所指向的对象的内容。

6.枚举类型:枚举定义出了一个类所能使用的若干几个实例化对象,枚举可以直接采用“枚举类型.对象”的方式取得类中的实例化对象进行操作  
        只能取特定值中的一个
        enum关键字,使用enum定义的枚举类型实际上都表示一个类默认继承了Enum类
        enum Color{
            RED,GREEN,BLUE;
        }
        Color red = Color.RED;
        本程序定义了一个Color的类,同时在类中定义了三种颜色的对象,需要时直接调用即可
        枚举就是一种简化的多例设计模式
        枚举中定义的构造方法不能使用public声明;枚举对象必须放在首行
        枚举中通过values()方法取得没觉得全部内容
        在枚举中可以定义构造方法,则再设置枚举范围时必须显式的调用构造方法
        
        
Alt+/:进行代码提示
Ctrl+l:为错误的代码给出纠正方案
Ctrl+/:使用单行注释

猜你喜欢

转载自blog.csdn.net/qq_38635681/article/details/83625851