• 周总结2016-04-17


    一.  常用的4种异常:
    (1).NullPointerException 空指针异常
    (2).ArrayIndexOutOfBoundsException 数组下标越界异常
    (3).InputMismatchException 输入不匹配异常
    (4).ArithmeticException 数学运算异常
    二.  java中所有类的父类:Obiect类
    三.  Thowable分为Error类和Exception类,而Exception又分为IOException类和RuntimeException类(运行时异常类)
    四.  函数:
    System.out.print(e.getMessage());
    System.out.print(e.toString());
    五.  捕获异常:
    try{当前有可能产生异常的代码,实行对它监控}catch(Exception e)catch(Exception e1){e.printStackTrace();}finally{}
    原理:(1)异常范围一定是catch(前一个)小于catch(后一个)
    (2)当产生异常的时候,马上会跳入到相应的catch里面,异常后面的内容不会被执行
    (3)当try里面的内容被正常执行时,catch不会被执行,finally被执行
    六.  抛出异常:(谁去使用,谁去处理的原则)
    访问修饰符+可选修饰符+返回值+方法名+参数列表+throws Exception{}
    throw 关键字,手动地异常,
    throw new Arithmetic Exception();
    七.  log4j log for java 日志记录工具

    Mr.liu发下来的总结更全面(此处省略1000字)

    八.  API:
    1.System是一个final类,它的属性:in,out,err 例如:System.in
    常用方法:(1).CurrentTimeMills 当前系统时间,返回值以毫秒为单位的当前时间
    (2).exit 终止当前Java虚拟机 例如:System.exit(0) 0代表异常终止,推荐用return方法
    (3).getProperties(string) 确定当前系统属性
    (4).gc() Java中代表垃圾回收,由JVM自动完成,而C++中程序员手动删除
    gc机制具体回收方法:
    (4.1).判断对象是否“活着”:
    (4.1.1). 引用计算算法:引用加1,不引用减1
    (4.1.2).跟搜索算法:
    在堆中找一个根对象,把没与根发生关系的干掉,一般以常量,静态变量为对象
    (4.2).删除要去掉的对象:
    (4.2.1).标记—清除算法
    首先标记;其次删除
    缺陷:内存零散,垃圾碎片多
    (4.2.2).复制算法
    缺陷:把原来可用内存减少一半
    (4.2.3).标记—整理算法
    2.Runtime类 getRuntime 获得当前运行
    当前处理器数量:r.availableProcessors()
    剩余内存数: r.freeMemory()
    总内存数: r.totalMemory()
    可用最大内存数:r.maxMemory()
    3.字符串相关类
    ==对象的时候,判断的是内存地址值相等
    例如:
    String s="Hello";
    String s1=new String"Hello";
    String s2="Hello";
    System.out.print(s=s2); //显示true
    System.out.print(s=s1); //显示false
    s.equals(s1) //判断内存地址里面字符串相等
    常用字符串的相关方法:
    length()
    charAt() 返回指定索引处的值(指下标处的字符)
    CompareTo(string+名字) 按字典顺序比较两个字符串的大小
    Concat() 将两个字符串拼接
    Contains 判断某个字符串里面包含某个字符
    getBytes
    isEmpty length() 为0时返回true
    Split 拆分字符串
    toLoverCase() 将字符串变小写
    toUpperCase() 将字符串变大写
    trim() 忽略前后空格,不能忽略字符串中的空格
    Substring 截取字符串,原则:前包后不包
    replace(old,new) 替换字符
    4.StringBuffer类
    从Object类来,可增长字符串
    StringBuffer a=new StringBuffer ();
    String a1=a.tostring(); //将a变成a1类型
    常用的相关方法:
    a.append() //追加到字符串后面
    insert //加到字符串任何位置
    5.StringBuilder类
    JDK1.5版本以后,是StringBuffer的升级版
    StringBuilder是线程不安全的,StringBuffer是线程安全的
    性能比较:StringBuilder>StringBuffer>String
    6.日期相关类:
    来源:Date-java.util
    来两个单词:Format 格式 Parse 分析,解析
    Date d=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH时mm分SS秒");
    String y=sdf.format(d); //将Date转换成符合格式的String类型
    System.out.print(y);

    例如:
    package DateTest;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class Test007 {
    public static void main(){
    /* Date date=new Date(); //声明一个Date类
    SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd-HH:ff:SS");
    String y=s.format(date);
    System.out.println(y);*/

    SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-DD=hh:mm:ss");
    String x2="2015-08-08=15:33:33";
    Date a=null;
    try {
    a=s.parse(x2);
    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println(a); 
    }
    }
    7.Calendar 抽象类 Static类型
    Calendar c =new GregorianCalendar();
    Calendar的常用方法:
    get方法 System.out.println(c.get(Calendar.YEAR));
    add方法 c.add(Calendar.Day_OF_MONTH,-5); //往前移5天
    after方法
    getTime()
    8.包装类
    int—Integer类
    char—Character类
    byte—Byte类
    short—Short类
    long—Long类
    float—Float类
    double—Double类
    boolean—Boolean类
    为什么要装箱和拆箱??
    装箱:(1).基础类型转为引用类型,引用类型有更多的方法
    (2).有些操作规定了我们必须引用类型,而不能用基础数据类型
    方式一:
    int num=10;
    Integer num2=new Integer(num); //手动装箱
    方式二:
    Int num3=new Int.Value of(num);
    方式三:
    Integer num4= num; //自动装箱
    9.Pattern类
    正则表达式:判断用户/判断数据是否满足你的表达式
    例如:
    package PatternTest;

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class PatternTest007 {
    public static void main(String[] args){
    String a= "abc";
    Pattern patter =Pattern.compile("^[abc]+$");
    Matcher match=patter.matcher(a);
    System.out.println(match.matches());
    }
    }
    10.数学运算符类(random  随机类)
    产生随机数,前包后不包
    Math类—基本数学运算方法:
    (1)abs()  返回绝对值
    (2)Math.max(a,b)  比较a,b值大小,输出较大的值
    (3)Math.min(a,b)  比较a,b值大小,输出较小的值
    (4)round()  四舍五入
    (5)floor  向下取整
    (6)ceil()  向上取整
    (7)random()  返回0到1之间的小数
    九.  反射:(类的加载机制  Classloder)
    运行时探究和使用编译时未知的类
    反射就是操作Class类
    第一种方式:
    Dog d=new Dog();
    Class d2=d.getClass(); //具体实例获得Class
    第二种方式:
    Class d3=Dog.Class();  //知道类的名字,但是没有实例对象
    第三种方式:
    Class d4=Class.forName("包名.类名");  //运行期动态传入
    探究类的基本信息:1.Filed类:getDeclaredFiled  //获取属性
                      2.Method类:getDeclaredMethod  //获取方法
                      3.Constructor类:getDeclaredConstructor   //获取构造函数
    Filed:   Field[] fields= d4.getDeclaredFields();//获取所有的属性
    例如: //获取Dog类的属性1并且修改
    /*Class d3=Class.forName("RandonTest.Dog");
     Dog d=(Dog) d3.newInstance();  //用Instance的方法实例化一个对象
     //Dog d2=new Dog();  //直接用new的方法实例化对象
    Field[] fields= d3.getDeclaredFields();//获取所有的属性
    for(Field field:fields){
     if(field.getName().equals("age")){
      field.set(d, "100");
     }
     
    }*/
    ————————————————————————————
    package RandonTest;

    public class Dog {
     int age=20;
     String name="wangwanghao ";
     public void speaking(int s){
      System.out.println("hello"+"    "+name);
     }
     
     public void saying(){
      System.out.println("hello,say"+age);
     }
    }

  • 相关阅读:
    03 Spring框架 bean的属性以及bean前处理和bean后处理
    02 Spring框架 简单配置和三种bean的创建方式
    01 Spring框架 基本介绍
    Struts2学习---拦截器+struts的工作流程+struts声明式异常处理
    js 正则表达式
    HTTP中GET与POST的区别 (本质上是一样一样的TCP链接)
    微信商户平台的“企业付款到用户” 产品功能被隐藏起来了。。
    软件的安装及下载
    phpstorm 使用技巧
    Socket.io和Redis写Realtime App 之express初试
  • 原文地址:https://www.cnblogs.com/chenyangpeng/p/5401175.html
Copyright © 2020-2023  润新知