zoukankan      html  css  js  c++  java
  • 类的总结补充

     
    system类:
    三个属性:
    1、system.in代表标准输入流——往往特指控制台输入
    1.1、用法:new Scanner(System.in)
    2、system.out代表当前系统提供的标准输出流--往往指代控制台输出
    3、System.err.println();默认情况也是指控制台输出(红色警示,表示当前系统提供的错误流--也是指代控制台输出)
    常用方法:
    1、System.gc()召唤垃圾回收,强调:不是操控,只能是召唤
    2、System.arraycopy();完成数组拷贝动作
    3、System.exit(0);完成虚拟机的关闭---参数表示结束的状态码,非0表示异常结束
    4、System.currentTimeMillis();返回当前系统的时间(long类型)
    --1970到当前毫秒数--1s=1000ms
    5、System.getProperty();获取系统信息
    file.separator---文件分割符
     
    runtime类:
    常用方法:
    1、getRuntime();获得与当前系统绑定的运行对象
    ----.totalMemory()当前内存数
    ----.freeMemory()当前空闲内存
    ----.availableProcessors()当前处理器数量
    String类:
     
    是java中表示字符串的一种类型,使用的最多的一种。所以的输入输出都是针对字符串,类型的转换是程序内部的需要;java中有许多针对他的特殊设计。
    ---1、string语法上,他是惟一一个可以直接赋常量值的引用数据类型
    ---2、String字符串常量在内存中有特殊处理:
    ---2.1、String字符串常量是对象;
    ---2.2、String字符串常量在加载器即放入内存中(数据段的字符串常量池中)
    ---3、String对象内容不可变,对String对象做任何内容改变都是得到一个新的String对象
    ---4、String提供了非常丰富的API(非常熟练)
    ---4.1、String与数组相关的操作String str = “hello ”;
    ---4.1.1、char[] array = str.toCharArray();//转换为字符串
    ---4.1.2、str.length();//得到字符串长度
    ---4.1.3、char c = str.charAt(0);//根据下标得到字符串的第几个字符
    ---4.1.4、str.indexOf();//根据下标得到String中首次出现的位置,没有返回-1;
    ---4.1.5、str.lastIndexOf();//根据下标得到String中最后一次次出现的位置,没有返回-1;
    ---4.1.6、str.subString(1, 3);//根据位置截取子串
    ---4.1.7、str.subString(2);//重载,只给起始位置,截取到最后
    ---4.2、String比较操作相关//其实字符串也有比较大小的特点,比如比较大小的顺序,使用的是字典顺序
    ---4.2.1、System.out.println("hello".equals(str));
    ---4.2.2、System.out.println("hello".equalsIgnoreCase(str));//忽略大小写比较相等
    ---4.2.3、System.out.println(str。compareTo(“abc”));//第一位比较ASCII,比完之后完全一样,再比较长度。A、结果是第一个字符串减去第二个字符串的差值,正大负小,每个字符一样,长度也一样则返回0;
    ---4.2.4、System.out.println(str.compareToIgnoreCase(“abc”));
    忽略大小写比较
    ---4-3、与String相关的内容
    ---4.3.1、str.toUpperCase();把String转全大写
    ---4.3.2、str.toLowerCase();把String转全小写
    ---4.3.3、str.replace(‘l’, ‘L’);
    //替换字符串中的某个字符全部替换;
    //替换字符串中的某个字符串为另一个字符串
    ---4.3.4、str.replaveAll("l[od]", "ggg");//根据正则表达式替换
    ---4.3.5、String hi=“hello”.concat(“hhh”);拼接字符串
    ---4.3.6、hi.contains(“hff”);//查看一个String是否在另一个字符串中;
    ---4.4、3个特殊方法
    ---4.4.1、trim();去掉字符串前后的空格
    ---4.4.2、matches();---正则表达式比较
    ---4.4.3、split();---字符串拆分。(特性:如果以分隔符开头,会正常拆分,如果以分隔符结尾不会拆分)(分隔符可以用正则表达式拆分)
    String b=“--1992-2-1-”;
    String[] strArray = b。split(“-”);//数组长度为5,前面2,后面0)
     
    正则表达式(regex):
    用来规定一个字符串样式的模板,其本身也是字符串的形式。
    1、[ ]表示一个字符,里面填上这个字符所允许的符号
    2、{ }表示次数,表示前面表达式重复的次数
    ---{m,n}表示最少出现次,最多n次
    ---{m,}至少m次
    ---{m}只能出现m次
    3、()表示可选(表达式1|表达式2|表达式3)三选一都是对的
    StringBuilder: 解决String内容不可变的问题,当需要操作大量的字符串拼接的时候,String就会对性能产生影响,由此提出StringBuilder:也是jdk中提供的字符串类型,专门用来解决内容不可变的问题。它语句String没有任何继承关系
    Stringbuilder sb = new StringBuilder(“hello”);
    1、append();//在尾部进行拼接
    2、insert(位置,“内容”);插入
    使用:当我们做大量的String拼接的时候会出现性能的消耗(String内容不可变),可条用StringBuilder的append()或insert()方法进行
    StringBuffer:也跟StringBuilder一样,内容可变,用来解决问题一样
     
     
    区别:StringBuilder是线程不安全的(线程不安全,没有使用线程同步工作,所以效率高)
    StringBuffer是线程安全的(凡是线程安全的,由于同步工作导致效率低)
    不是说多线程就要考虑到线程安全的,因此就需要考虑效率了;
    线程安全只会在多线程特殊情况下实现。所以没有安全问题的多线程情况或单线程情况优先使用StringBuilder
     
    包装类:用来基本数据类型,提供了大量属性和行为
    操作;基本类型<——>包装类对象<——>String<——>基本类型
     
    时间日期类:
    一、date
    ---直接调用dete的无参构造就是表示当前时间
    //Date date = new Date();
    ---直接打印date对象得到的来自于toString方法的结果并不可用
    ---Date方法中单独获取和设置年、月、日、时、分、秒的所以方法都已经过时。
    ---使用:
    ---1、方便快速的获取当前日期时间的当前对象
    ---2、配合一个SimpleDateFormate的类,完成根据我们使用的格式化时间日期字符串
    ---不方便:
    ---1、没办法设置一个特定的时间(使用Calendar来解决这个问题)
    二、Calendar
    ---采用的工厂模式,无需使用者产生对象,由Calendar提供工厂方法生成对象,我们只管用
    ---月份是从零开始的,0代表一月;所以设置月份需要-1处理
    ---星期是从星期天开始的星期天=1,类推
     
    结论:1、获取当前时间用Date方便
    2、获取指定日期时间,用Calendaar
    3、获取格式化日期时间字符串,用Date配合SimpleDateFormat
     
    Properties:
    操作文件:方便快捷——通常作为配置文件使用
    定义:是一个集合类(是用来装东西的容器)(属于map类)
    ---Properties props = new Properties();//产生了一个容器
    ---.setProperty(k, v);//放数据的时候成对出现//放入重复键,相当于在做修改
    ---.getProperty(k);//获取数据//如果数据不存在,获取的是null
    ---.remove(k );//删除数据
    区别:相对于其他映射集合,最大特点是可以操作属性文件(一种用键值对表达的特殊文件)
    ---.store(new FileOutputStream(“地址文件名”), “这里写注释,,”);
    ---存文件,如果文件不存在会在相应位置新建,并放入集合中所以的数据
    ---文件存在,就把集合中所有的数据存入,覆盖掉文件的已有数据
  • 相关阅读:
    UVA
    UVA
    模板——扩展欧几里得算法(求ax+by=gcd的解)
    UVA
    模板——2.2 素数筛选和合数分解
    模板——素数筛选
    Educational Codeforces Round 46 (Rated for Div. 2)
    Educational Codeforces Round 46 (Rated for Div. 2) E. We Need More Bosses
    Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence
    Educational Codeforces Round 46 (Rated for Div. 2) C. Covered Points Count
  • 原文地址:https://www.cnblogs.com/houxi1234/p/6426581.html
Copyright © 2011-2022 走看看