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(“地址文件名”), “这里写注释,,”);
    ---存文件,如果文件不存在会在相应位置新建,并放入集合中所以的数据
    ---文件存在,就把集合中所有的数据存入,覆盖掉文件的已有数据
  • 相关阅读:
    Qt 主窗口与子窗口之间传值
    Qt 如何使窗体初始最大化
    C++ strcmp与strncmp的比较
    Qt 状态栏(statusbar)的使用
    C++中的补零
    Qt QString转char[]数组
    PAT基础6-9
    PAT基础6-8
    PAT基础6-6
    PAT基础6-7
  • 原文地址:https://www.cnblogs.com/houxi1234/p/6426581.html
Copyright © 2011-2022 走看看