Java笔记(7)

目录

接口(interface)

常量

抽象(Abstract)

MVC

Java中的String类 和类型转换

字符串

基本 变 复合类型

StringBuilder和StringBuffer:

异常

错误    100%的错误

调试错误

异常处理语句:


接口(interface)

       接口中  写了 没有方法体的方法

        接口中 只有方法的特征 没有方法的实现

       除了没有方法体之外 其它语法相同

        这种没有方法体的方法  被称为   抽象方法

使用接口

       implements 关键字

继承和接口的区别

       继承体现血缘关系  is-a

       接口体现社会关系 

同一个类 可以 实现多个接口 但只能继承一个其他类


常量

       声明后 不会再改变的量 即为常量

       public static final 作为修饰符

       常量的变量名  通常都是大写

常量声明后 不能修改 并且 声明过程中 不支持 只声明不赋值

常量  通常声明在接口中


抽象(Abstract)

抽象类 在public后面写abstract即为抽象类

       具有 方法体  的方法体 叫做        实例方法

       没有方法体的方法 叫做                抽象方法

抽象类   不能new


小问题:

1:抽象类之中一定只有抽象方法吗?不 还有实例方法

2:抽象方法一定要写在抽象类中吗?不 写接口

3:接口中只能定义方法吗?可以写实例方法吗?不  不可以写实例方法,可写常量


MVC

    设计模式  可以理解成前辈程序员 总结的套路

  1. Model       模型层(后端)  现在用于放实体类
  2. View        视图层(前端)  用于放界面相关信息
  3. Controller  控制层(居中)  用于管理,逻辑相关内容

Java中的String类 和类型转换

字符串

字符串是字符的序列

//Java中字符串被当作对象来处理

//Java中 存放字符串常量的对象用String

字符串 常用两个引号代表 本质是创建了一次字符串常量

    不过编译器 会帮我们 自动变为 字符串对象

字符串方法

length方法

cahrAt方法

int indexOf方法

运算符+ 用法

compareTo用法

equals方法

equalsIgnoreCase方法

concat方法

replace方法

substring方法

toLowerCase方法
toUpperCase方法

表格中代码实现如下: 

 //length方法
        String s1 = "abc";
        System.out.println(s1.length());
        //s1.length() 返回字符串长度 3


        //cahrAt方法
        String s2 = "abd";
        System.out.println(s2.charAt(1));
        //s2.charAt(1) 返回字符‘b’




        //int indexOf方法
        String s3 = "asdfgh";
        System.out.println(s3.indexOf("s"));
         //s3.indexOf 返回返回子串s3中的第一个字符在字符串中位置
        String s4 = "asdfsh";
        System.out.println(s4.indexOf("s",2));
         //s4.indexOf("s",2) 返回返回子串s4中的第2个字符以后出现的始末位置


        //运算符+ 用法
        int age = 5 ;
        String  s5 = "He is" + age + "years old.";
        System.out.println(s5);
        //+用来拼接字符串


        //compareTo用法
        String s6 = "A";//先
        String s7 = "a";//后
        System.out.println("字符串A compareTo 字符串a: "+s6.compareTo(s7));//按字典次序比较两个字符串的大小,源串较小,则返回一个小于0的值
        System.out.println("字符串a compareTo 字符串A: "+s7.compareTo(s6));//源串较大,返回一个大于0的值
        System.out.println("字符串A compareTo 字符串A: "+s6.compareTo(s6));//相等则返回0


        //equals和equalsIgnoreCase方法
        String s8 = "A";
        String s9 = "a";
        System.out.println(s8.equals(s9));//equals 判断两个字符串是否相等 ,区分大小写
        System.out.println(s8.equalsIgnoreCase(s9));//equalsIgnoreCase 判断两个字符串是否相等 ,不区分大小写


        //concat方法
        String s10= "Aa";
        String s11= "Bb";
        System.out.println(s10.concat(s11));//将字符串对象s10与给定的字符串s11连接起来。


        //replace方法
        String s12= "Bb";
        System.out.println(s12.replace(s12,"qwertyui"));//将s12中出现的特定字符用新的字符代替。


        //substring方法
        String s13= "BASDFG HJ";
        System.out.println(s13.substring(6));//用来得到字符串中指定起始点到最后的子串,s13.substring(6)指的是从第6位开始算,因为没写结束位置,所以直接默认为从6到结尾。
        System.out.println(s13.substring(1,4));//用来得到字符串中指定范围内的子串。


        //toLowerCase和toUpperCase方法
        String s14 = "BASDFGHJ";
        String s15 = "fghjklbghjktyu";
        System.out.println(s14.toLowerCase());//把s14中的所有字符转换成小写
        System.out.println(s15.toUpperCase());//把s15中的所有字符转换成小写


        //应用示例
        String s = new String("We will go further to modify a String by copy! ");
        System.out.println("From String\"" + s + "\"");//+用来拼接字符串
        String sub1 = s.substring(20);//用来得到字符串中指定范围内的子串,比如s.substring(20)指的是从第20位开始算,因为没写结束位置,所以直接默认为从20到结尾。
        String sub2 = s.substring(0,19);//用来得到字符串中指定范围内的子串。
        System.out.println("Get a sub string from index 20 to the end:"+ sub1);
        System.out.println("Get a sub string from index 0 to 19:" + sub2);
        String cons=sub2.concat(sub1);///将字符串对象sub2与给定的字符串sub1连接起来。
        System.out.println("Concat two sub string into one:\n" + cons);

基本 变 复合类型

封装类:让基本数据类型也能够拥有的方法。

基本数据类型的  封装类

让基本数据类型 也能够 拥有方法 变成复合类型

基本类型的封装类

boolean -->Boolean

char  -->Character

byte --> Byte

short -->Short

int --> Integer

long -->Long

float --> Float

double -->Double


StringBuilder和StringBuffer:

StringBuilder安全性较低

StringBuffer安全性比StringBuilder高

这两个类 用于字符串的优化 节省空间用的


异常

    通常没有问题 但是遇到意外情况 导致无法运行 就被称为异常

    一旦出现异常 不是让程序直接中断 而是 让程序 能够跳出异常 继续执行

错误    100%的错误

调试错误

    断点调试

    用于 程序运行中 查看 里面的变量和数据的变化

API    使用文档/操作手册


异常处理语句:

    try{

        用来放有可能有问题的程序

    }catch(异常类型 e){

        出现异常   

    }

异常的对应匹配

InputMismatchException

输入不匹配异常

ArithmeticException   

算数异常

StackOverfloatError   

堆栈溢出错误

Exception            

属于异常的总父类


递归

    递归 就是 函数调用自身 !!!不要乱用递归 因为会导致堆栈溢出错误

每次递归之后 最好纪律性给一个 return 结束函数

登入/注册

账号、 密码、 验证码

存储账号/密码

集合(arrayList)

    可以简单的理解为 可变长的数组  也有对应的下标 长度

集合常用方法

    集合.add()

实现添加功能

    集合.size()

获取列表长度

    集合.get()    

获取列表中的某个内容

    集合.remove()

删除列表中的某个内容  可以指定下标 或  指定对应对象删除

    集合.clear () 

清除列表内  所有内容

猜你喜欢

转载自blog.csdn.net/weixin_47314602/article/details/127002204