• T5 s1 day14


    **********************************************************************
    异常处理 Java工具类
    **********************************************************************
    Java集合框架
    文件流 IO
    多线程

    回顾:
    try{

    }finally{

    }

    public int test(){
    try{
    //
    //
    return 1;

    }catch(Exception ex){

    }finally{
    //能否被执行
    //执行完finally后,再去执行try中的return
    }

    }
    异常处理用途:
    1、保证程序的正常运行
    2、辅助来调试程序

    try-catch-finally java中最常用的异常处理方法
    throw throws 抛出异常
    当不符合程序的业务需求时(但是是符合Java的语法的),自己产生一个异常

    业务:功能要怎么做,做成什么样的

    throw 声明一个异常


    对异常的两种处理方式


    1、捕获、处理 try-catch
    2、thorws 继续向外, 不要抛给JVM

    扩展:自定义异常类
    PayException 自定义的异常,一定要自己抛出


    调试程序:debug

    错误:语法性质的 红色波浪线
    对于错误,必须修正,否则无法编译、运行
    bug:缺陷,不是错误,是因为设计不全面带来的漏洞
    需要调试程序来发现bug

    1、设置断点
    断点:程序执行到断点的位置会中断运行
    双击 设置或取消断点(有效代码行:注释、{}等无效)
    2、程序需要调试运行 debug as
    2.1绿色背景:代表程序当前所执行的行
    2.2 上方右侧 变量区 Varlables
    中间左侧 代码执行区
    下方 运行结果
    3、F5、F6 每按一次,代码向下执行一行
    F6:如果执行的代码是调用方法的代码,不会进入到方法的内部
    F5:如果执行的代码是调用方法的代码,会进入到方法内部
    F5注意:可以进入自己编写的方法内部

    Java中的系统类:

    Java中分两个大的数据类型种类:
    1)基本数据类型:8个
    2)引用数据类型:无数个
    在Java中所有的类都是数据类型例如:String Scanner Random Demo4
    2.1、系统引用类型:String Scanner Random …… 是Java已经写好的类
    2.2、自定义引用类型:PG自己写的类

    int[] ary=new int[2];


    【说明】数组也是引用类型

    基本类型和引用类型区别:
    1)基本类型变量,变量对应的内存空间直接存放的就是值
    int age=20;
    int age2=age; 把age里的值20复制一份,存放到age2中
    2)引用类型变量,变量存储的是堆空间的内存地址
    PayException pe=new PayException();
    pe存放的是new 分配的堆空间内存地址
    PayException pe2=pe; //把pe里存放的地址复制一份,存放到pe2中
    pe pe2 存放的是同一个堆空间的地址

    *****
    方法的参数是基本类型和引用类型的区别?


    基本类型 把实参的值复制后传入形参,形参的改变不影响实参
    引用类型 把实参的地址复制一份传入形参,通过形参改变地址所对应的值,通过实参查看会有变化,因为实参和形参存放的是同一个堆空间的地址。

    8种基本类型都分别对应着一个引用类型,因为Java的集合只允许存储引用类型。
    int Integer
    byte Byte
    short Short
    long Long
    float Float
    double Double
    char Character
    boolean Boolean
    包装类:每个基本类型所对应的类类型称为包装类
    int num=123;
    在Java中,把基本类型转换为对应的引用类型,称为装箱
    把引用类型转换为对应的基本类型,称为拆箱

    如何装箱和拆箱?见Demo6.java

    把字符串转换为int类型的方式
    1、 int num1=Integer.parseInt("字符串");

    2、Integer it=new Integer("字符串");
    int num2=it.intValue();

    3、int num6=Integer.valueOf("200");
    【注意】字符串必须是数值字符串
    String str="234"; 数值字符串
    String str2="a23"; 非数值字符串

    把int 类型 转换为字符串
    int num4=123;
    String str4=String.valueOf(num4);

    面试题:Integer.parseInt() 和Integer.valueOf()比较哪种转换为int更好

    Integer.parseInt()更好,直接转换为了int类型
    Integer.valueOf(),先把字符串转换为Integer,然后Integer自动拆箱为int,多了一操作

    Integer类的方法
    构造方法
    Integer(int i)
    Ingeger(String s)
    实例方法
    public int intValue(){

    }
    静态方法
    public static Integer valueOf(int i){}
    public static Integer valueOf(String str){}
    public static int parseInt(String){}

    重点:String 和int之间相互转换的方式

    String 使用频繁,Java对String的内存使用方式进行了优化,字符串的值存放在常量区域内,且不可改变。
    String str="12";
    String 不可变字符串

    String类的常用方法
    1、length() 字符串的长度
    2、charAt(索引) 返回指定索引所对应的字符
    3、indexOf("字符串") 参数在字符串中首次出现的位置,从0开始查找 -1没有
    4、str.indexOf("好好学习", 7); 参数2是查找的起始位置
    5、str2.split("分隔符"); 返回字符串型数组,参数是分隔符,作用,把字符串按分隔符分割成数组
    6、str.replace("我们", "java1901全体学生"); 参数2替换掉字符串中所有的参数1
    7、toCharArray() 把字符串转换成字符型数组
    8、substring(参数) 从参数位置开始截取字符串,一直截取到最后
    9、substring(int begin,int end)从参数begin开始截取,截取到end,但是不包含end
    10、toUpperCase() 把字符串中所有小写字母转成大写
    11、toLowerCase() 把字符串中所有大写字母转成小写
    12、trim() 把字符串两端的空格去掉,中间的不去
    13、valueOf(参数) 把参数转成字符串类型
    14、concat(参数) 字符串连接
    15、equals() 比较字符串的值是否相等,区分大小写
    16、equalsIgnoreCase 比较字符串的值是否相等,不区分大小写

    让用户输入一个电子邮箱,判断邮箱格式是否正确
    邮箱中要包含@ .

    String 不可变的字符串,频繁改变字符串值如果使用String,会浪费内存
    可以使用StringBuffer类来替代String
    StringBuffer在改变字符串值时,不抛去源空间,在原空间基础上更改

    append(参数) 把参数追加在原字符串上

    总结:


    throw 声明一个异常
    throws 抛出

    自定义异常类:继承Exception

    printStackTrace() 打印异常的方法的调用过程和异常原因
    getMessage(); 返回字符串 异常原因

    断点调试程序

    两类数据类型:
    基本类型:8
    引用类型:无数个
    方法的参数是基本类型和引用类型的区别

    包装类:
    装箱:基本类型 转换 引用类型
    拆箱:引用类型 转换 基本类型 自动完成
    字符串和int 的转换方式

    字符串:存储方式
    String s1="abc";
    String s2="abc";

    == equals 的区别
    字符串的常用方法


    今晚作业
    1、梳理、理解技能点。
    2、作业文档
    3、补充:
    自己编写字符串方法
    3.1 输入应为单词,把首字母转成大写或小写
    3.2 截取字符串public String mySubString(int begin,int count)


  • 相关阅读:
    IOS数据库操作SQLite3使用详解(转)
    AutoLayout 之NSLayoutConstraint
    自动布局autolayout和sizeclass的使用
    IOS 基于TCP的socket通信详解(原创)
    Spring boot AOP 记录请求日志
    Spring boot 异步线程池
    配合 jekins—springboot脚本
    CentOS6 Squid代理服务器的安装与配置
    Redis4.0.1的安装及哨兵模式的配置
    mysql修改最大连接数
  • 原文地址:https://www.cnblogs.com/wxcsz/p/10672450.html
Copyright © 2020-2023  润新知