zoukankan      html  css  js  c++  java
  • JavaOO 常用类

    1、字符串类:String类型时java中表示字符串的一种类型,是平时使用最多的类型。所有的输入输出都是针对字符串,类型的变化是程序内部的需要。以为String是用得最多的数据类型,所以java中有许多针对它的特殊设计。

    1)语法上,它是唯一一个可以直接赋常量值得引用数据类型

    String str = “hello”;

    2)String常量的内存中有特殊处理:a. String常量是对象

                   b.String常量在加载期即放入内存中(数据              

                      段的字符串常量池)

    3)String对象内容不可变,对String对象做任何内容改变都是得到一个新的

         String对象

    4)String提供了非常丰富的API

    a.  String与字符数组相关的操作

    String str = “hello”;

    char[]array = str.toCharArray();把String转换为char[]

    int length = str.length();得到字符串长度

    char c = str.charAt(0);根据下标得到字符串的第几个字符

    int postion = str.indexOf(“l”);根据下标得到字符在String中首次出

                            现的位置,没有就返回-1

    postion = str.lastIndexOf(“l”);根据下标得到字符在String中最后出

                             现的位置,没有就返回-1

    String subStr = str.substring(1,3);//根据位置截取字符串,前闭后开

                                     的区间,得到的是“hl”。

    subStr = str.substring(2);重载方法,只给起始位置,一直截取到最后

    b.  String与比较相关的操作

    System.out.println("hello".equals(str));

    System.out.println("hello".equalsIgnoreCase(str));忽略大小写比较相等

    System.out.println(str.compareTo("helloworld"));//区分大小写//字符串是可以比较大小的,使用的是字典顺序。

    System.out.println(str.compareToIgnoreCase("helloworld"));//不区分大小写

    特点:结果是第一个字符串减第二个字符串的差值,得到正数说明第一个比第二个大,得负数说明第一个比第二个小

    差值首先是返回第一个对不同的字符的ASCII之差,如果某个字符串比较完了,它的每个字符都和对象相同,则返回两个字符串的长度之差

    只有当每个字符都一样,长度也一样才会返回0,

    c.  与String内容相关的

    String upStr = str.toUpperCase( );//把String转换为全大写

    String dnStr = str.toLowerCase( );//把String转换为全小写

    String newStr = str.replace('l','L');//替换字符串中的某个字符为另一个字符

    newStr = “Helloworld”.replace("l","fuck");//替换字符串中个的某个字符为另一个字符串,将l换成fuck

    newStr = “Helloworld”.replaceAll("l[od]","fuck");//根据正则表达式进行替换,将lo、ld换成fuck

    String hi = “hello”.concat(“world”);//把一个String拼接到另一个的末尾

    System.out.println(hi.contains("wo"));//查看一个String是否在另一个String当中

    d.  3个特殊方法:

    trim()---去掉字符串前后的空格,不会去掉中间的空格

    String input = “   hel   lo    ”;

    String newInput = input.trim();

    结果为:“hel  lo”;

    matches()---正则表达式比较

    正则表达式(regex):用来规定一个字符串样式的模板,其本身也是字符串形式----1、[ ]:一个方括号表示一个字符,里面填上这个字符所允许的符号

     2、{ }:表示前面表达式重复的次数

    {m,n}表示至少出现m次,最多n次

    {m,}表示至少出现每次,最多不限次数

    {m}表示只能出现m次

    (表达式1|表达式2|表达式3);可选  “8320”([0-9]{4}|110|120|114)"

    8320后面可接0-9,出现4次,或者110,或者120,或者114

    split()---字符串拆分

    如果以分隔符开头,会正常拆分;如果以分隔符结尾,则后面不会拆分

    分隔符可以用正则表达式表示

    String birthday = “-1992-6-8”;

    String[ ] strArray = birthday.split(“-”);

    String最大的问题就是内容不可变

    String str1 = “hello”;

    String str2 = “world”;

    String str3 = new Scanner(System.in).nextLine()

    当需要操作到大量的字符串拼接时,String就会对性能产生影响

    由此提出StringBuilder:也是JDK中提供的字符串类型,专门用来解决内容不可变的问题

    它与String没有任何继承关系

    StringBuilder当我们做大量的String拼接时,会出现性能的消耗(内容可变的) ,此时选用StringBuilder或StringBuffer的append 或insert方法解决String的拼接问题

    StringBuilder sb = new StringBuilder();

    StringBuilder sb2 = sb

    sb.append("world");//在尾部进行拼接

    sb.insert(5," ");//在中间进行拼接

    结果为:sb = sb2 = hello world

    StringBuffer跟StringBuilder一样,内容可变,用来解决String拼接的问题

    两个提供的API都是一模一样的

    StringBuilder是线程不安全的;

    StringBuffer是线程安全的;

    (1、凡是线程安全的,由于执行了同步动作,导致效率低,线程不安全的没有执行同步操作,所以效率相对高;2、线程安全性问题只会在多线程的特殊情况下才会出现(不是说多线程一定会出现),所以没有安全问题的多线程情况或单线程情况优先使用StringBuilder)

    2、包装类

    每一个基本数据类型都有一个包装类与之对应,提供大量的属性和行为,

    基本<————>包装类对象<————>String  (三种相互转换)

    3、时间日期类

    4、Propertise

    5、System类  

    System.in   代表当前系统提供的标准输入流---往往特指控制台输入

    用法:new Scanner(System.in)

    System.out 代表当前系统提供的标准输出流---往往特指控制台输出

    System.err  代表当前系统提供的错误流---也是指代控制台输出,红色字符

    表示错误

    System.err.println(”发生了一个错误“)

    System类的常用方法:

    System.gc();----召唤垃圾回收:不是操控,只能召唤

    System.arraycopy();----完成数组拷贝

    System.exit(0);----完成虚拟机的关闭(参数表示结束时的状态码,按惯

    例非0表示异常结束)

    //返回当前毫秒数

    System.currentTimeMillis();---返回当前计算的时间,类型为long

    long now = System.currentTimeMillis();

    System.out.println(now);

    当前时间原点:1970/1/1    00.00.00.000

    //获取系统属性

    String javaHome = System.getProperty("java.home");

    System.out.println(javaHome);

    Runtime类:

  • 相关阅读:
    HttpContext.GetOwinContext().Authentication 报错 解决办法
    owin Claims-based认证登录实现
    angularjs初识ng-app、ng-model、ng-repeat指令
    SpringBoot配置slf4j logback-spring.xml日志
    idea时间注释模版
    oracel截取字符串
    win10官网下载地址
    使用HttpWebRequest实现basic身份认证
    mybatis常用jdbcType数据类型与mysql的类型对照
    修改IntelliJ IDEA 默认配置路径
  • 原文地址:https://www.cnblogs.com/wuhao-bky/p/6422121.html
Copyright © 2011-2022 走看看