编程语言
首页 > 编程语言> > JAVA基础复习

JAVA基础复习

作者:互联网

Stringbuilder只能通过new对象来创建;
     *
     *      Stringbuilder的添加和反转:
     *          添加:不管添加什么类型,输出都是字符串
     *              链式编程:append返回的是一个对象
     *          反转:reverse()


String和Stringbuilder相互转换:
     *          Stirng转成Stringbuilder用,带参构造方法;
     *          Stringbuilder转成String用,Stringbuilder的to_String方法。

 * Arrary:提供对数组的各种操作方法。
     *      toString();转成字符串
     *      sort();数组排序;


  JAVA的INT范围查看:Integer.MAX_VALUE


    *      Int类型和String类型之间的转换:
     *              int到String:String s = ""+ a;//a为int类型
     *              int到String: Integer.parseInt("String");
     *              String到int:String.valueof("");//可以把字符串转换为各种类型


*      自动装箱:基本数据类型自动转换成对应的包装类。  Integer i = 100;
     *      把包装类型自动转换成基本数据类型。 i += 200;


     * Date类:
     *  构造方法:
     *      Date(long date)
     *      分配一个 Date对象,并将其初始化为表示自称为“时代”的标准基准时间以后的指定毫秒数,即1970年1月1日00:00:00 GMT。
常用方法:
     *      long   getTime()
     *      返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。
     *
     *      setTime(long time)
     *      设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。

SimpleDateFormat类:
     *      目的:文本到日期,日期到文本。
     *
     *      构造方法:
     *          SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
     *          使用给定的模式和日期格式符号构造一个 SimpleDateFormat 。
     *          SimpleDateFormat(String pattern, Locale locale)
     *          构造一个 SimpleDateFormat使用给定的模式和给定的区域设置的默认日期格式符号。
     


学过的容器:StringBuilder,数组
     *          StringBuilder结果是字符串,数组的长度是固定的,不能作为对象的容器。
引出集合Collection:


ArrayList的方法:
    a.add(<E>);  添加元素,源码永远返回true
     *              c.remove(<E>); 移除成功返回true,失败false
     *              c.clear(); 清空集合
     *              c.isEmpty();判断集合是否为空
     *              c.size();集合元素的个数

集合迭代器:
    Iterator:迭代器
     *              创建方法:
     *                  Iterator<String> i = c.iterator();

    迭代器使用:
    hasNext();判断是否有下个元素
     *                  next();获取下一个元素

List集合的特点:有序,可重复  又被称为序列。
     *
     *          List集合的特有成员方法:
     *              add(int index, E element);在指定位置添加元素,后面的元素后移
     *              remove(int index);删除指定位置元素
     *              get(int index);获取指定位置元素
     *              set(int index,E element);修改指定位置元素

列表迭代器ListIterator<>
     *              继承于普通迭代器。
     *              特有方法有:反向遍历,Previous,hasPrevious;反向遍历的前提是要先正向遍历一便(所以一般用不到)


   * List集合特点:
     *      ArrarList:底层是数组,查询快,增删慢
     *      LinkList:底层是链表,查询慢,增删快

Set集合的特点:
     *      不包含重复元素的collection;
     *
     *    HashSet的特点:
     *      不保证set集合的迭代顺序;特别是他不保证这个顺序恒久不变。
     *
     *    HashSet保证元素唯一性的原理:
     *      add的过程中,进行了hashCode和equal的判断。
     *      判断流程:首先比较hashCode如果不同,再比较equal方法。元素重复就不再添加
     *    使用要点:
     *      使用HashSet时,如果要保证元素的唯一性必须重写hashCode方法和equal方法。


Map集合:
     *      将键映射到值的对象。一个映射不能包含重复的键,一个键映射一个值。
     *
     *      Map集合不使用add方法,使用自己的put方法put();
     *
     * Map的常用成员方法:
     *      put(K,V);加入集合
     *      remove(Object K);删除
     *      clear();清空
     *      m.containsKey(Object K);判断键是否存在
     *      m.containsValue(Object V);判断值是否存在
     *      isEmpty();判断集合是否为NULL
     *      size();返回键值对数

Map集合的获取方法:
     *      get(K);
     *      keySet();返回一个所有键的Set集合
     *      values();返回一个所有值的Set集合

     * Map集合的遍历:
     *      方法1:通过键的集合keySet()遍历用get方法获取值;
     *      方法2:通过Map返回一个Set键值对数组,对数组进行遍历   Set<Map.Entry<String,String>> s = m.entrySet();

File的创建功能:
     *          createNewFile()
     *          当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件。
     *          成功返回true,文件存在创建失败返回false
     *          boolean    mkdir()
     *          创建由此抽象路径名命名的目录。
     *          成功返回true,目录存在创建失败返回false
     *          boolean    mkdirs()
     *          创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。
     *          成功返回true,目录存在创建失败返回false
     *
     *          创建多级目录下的文件要先创建目录再创建文件
     *
     *相对路径和绝对路径:
     *          相对路径是对于项目的基础路径来说的。
     *
     *File的删除delete
     *          A.目录和文件都是用delete删除;
     *          B.多级目录删除要先删文件,才可以删除目录
     *
     *File的判断和获取
     *          A.判断
     *              a.f3_1.isDirectory();判断是否是目录
     *              b.f3_1.isFile();判断是否是文件
     *              c.f3_1.exists();判断是否存在
     *          B.获取
     *              a.f3_1.getAbsoluteFile();获取绝对路径
     *              b.f3_1.getPath();获取相对路径
     *              c.f3_1.getName();获取文件名字

String编码解码:
编码:byte[] bys = str.getBytes(StandardCharsets.ISO_8859_1);
     *          解码:new String(bys,StandardCharsets.UTF_8)

输入输出流编码解码:
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("aa.txt"),“US_ASCII”);
     *          InputStreamReader isr = new InputStreamReader(new FileInputStream("aa.txt"),"UTF-8");


字符流写入:
     osw.write(97);
     *         osw.write('b');
     *         osw.write(new char[]{'a', 'b', 'c', 'd', 'e'});
     *         osw.write(new char[]{'a','b','c','d','e'},1,3);
     *         osw.write("abcde");
     *         osw.write("abcde",0,3);
    
    osw.flush();
     *
     *         osw.close();关闭字符流里默认调用了flush();

字符流读取
 int i;
//        while(-1!=(i=isr.read())){
//            System.out.print((char)i);
//        }
            char[] cs = new char[1024];
            int len;
            while(-1 != (len = isr.read(cs))){
                System.out.print(new String(cs,0,len));
            }
        isr.close();

字符流缓冲区写入特有功能:newLine();
//    bw.write("Hello"+i);
//            bw.newLine();//根据操作系统自动加上换行
//            bw.flush();//一般写一行刷新一下,方便确认数据

最终使用这两个来完成日常字符流的读写:名字比较短;
BufferedReader bw = new BufferedReader(new FileReader("cp_test04"));
BufferedWriter br = new BufferedWriter(new FileWriter("cp_test04"));

标签:00,JAVA,复习,int,基础,osw,集合,new,String
来源: https://blog.csdn.net/RZH_long/article/details/120732120