zoukankan      html  css  js  c++  java
  • 十二章总结

    常用类

    String input=JOptionPane.showInPutDialog();//输入框

    JOptionPane.showMessageDialog(,)//消息框

    String类

    String str0 = "hello";//字符串常量“hello”被预先放到了数据段的字符串常量池中

    String str1 = "hello";//直接从常量池中寻找已有的字符串常量

    String str2 = new String("hello");//new出一个新的字符串对象,在堆中

    String str3 = new String("hello");//new出一个新的字符串对象,在堆中

    //String类型对象(不管是常量池对象还是在堆中对象,其内容都不可变)
      str3 = str2;
      str2 = "world";


    //String导致了一些运算符发生变化
    System.out.println("5" + 10);//+号前后只要出现一个String,就变成字符串连接符

    //字符串比较
    System.out.println(str0.equals(str1));//判断两个字符串是否相等
    System.out.println(str0.equalsIgnoreCase("HeLLo"));//忽略大小写比较相等
    System.out.println("hello".compareTo("world"));//字符串比较:先依次比较第一个不同字母的Ascii码差值,如果全部相同再比字符串长度
    System.out.println("hello".compareToIgnoreCase("helloworld"));

    //字符串中与字符数组有关的方法
    System.out.println(str0.length());//字符串长度
    System.out.println(str0.charAt(0));//字符串第几个位置是什么字符
    char[] strArray = str0.toCharArray();//把一个字符串转换为字符数组

    byte[] b = str0.getBytes();//把一个字符串转换为字节数组
    System.out.println(str0.indexOf('l'));//某个字符在字符串中首次出现的下标
    System.out.println(str0.lastIndexOf('l'));//某个字符在字符串中最后一次出现的下标

    //字符串内容相关的方法
    System.out.println(str0.toUpperCase());//转换为全大写
    System.out.println(str0.toLowerCase());//转换为全小写
    System.out.println(str0.startsWith("wor"));//判断字符串以什么开头
    System.out.println(str0.endsWith("lo"));//判断字符串以什么结尾
    System.out.println(str0.contains("ell"));//判断一个字符串是否在另一个字符串中--包含
    System.out.println(str0.concat("world"));//将一个字符串加到另一个字符串尾部
    System.out.println(str0.replace('l','L'));//将字符串中的某个字符替换成新字符
    System.out.println(str0.replace("l","fuck"));//将字符串中的某个子串替换成新的子串
    System.out.println(str0.substring(1,3));//字符串按位置进行截取,前闭后开的区间
    System.out.println(str0.substring(2));

    //字符串强力方法
    //去掉字符串的前后空格,主要用在接收输入的时候
    String str4 = " hello world ";
    String str5 = str4.trim();
    System.out.println(str5);

    //字符串拆分
    String birthday = "1990-5-8";
    String[] results = birthday.split("-");
    for(String tmp : results){
    System.out.println(tmp);
    }
    birthday="5-8-";
    results = birthday.split("-");
    System.out.println(results.length);

    //正则表达式

    【】表示一个字符。

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

    (|)分组

    在常量池中出现的字符串都是String类型的。

    StringBuffer不能用”+“号完成字符串拼接。

    //StringBuffer--内容可变,所以在做字符串连结时不会产生新对象,而是在原有对象上进行增加
    //当需要做大量的字符串连结操作时,请使用它。
    StringBuffer sb = new StringBuffer("Hello");
    sb = sb.append("World");//将数据加到StringBuffer所代表字符串的末尾。
    sb.insert(5,' ');
    System.out.println(sb);

    String str = "helloworld";
    String beginStr = str.substring(0,5);
    String endStr = str.substring(5);
    str = beginStr + " " + endStr;

    sb.insert();在字符串中插入新的内容。

    线程安全,效率低。线程不安全,效率高。

    性能:StringBuilder>StringBuffer>String.

    1、得当前时间日期,常用Date
    2、做日期比较的时候,常用
    3、打印日期字符串的时候,常用---SimpleDateFormat类配合使用
    4、根据设置得到指定日期,使用Date不方便,推荐使用的是Calendar(日历)类

    Calendar cal = Calendar.getInstance();

    //两种将Calendar转换为Date的方式
    Date date = cal.getTime();
    date = new Date(cal.getTimeInMillis());

    包装类

    包装类中的值不可变。

    //基本转包装
      int i0 = 10;
      Integer in0 = new Integer(i0);//第一种方式:调用包装类带基本类型参数的构造方法进行构造
      Integer in00 = i0;//第二种方式:JDK1.5以后,自动封箱
    Object obj = i0;//这里也是先自动封箱,然后让父类引用指向子类对象
    System.out.println(in0);

    //包装转基本
      Integer in = new Integer(100);
    int i = in.intValue();//第一种方式:调用包装类对象的***Value()
    int i0 = in;//第二种方式:JDK1.5以后,自动拆箱
    System.out.println(i);


    //包装转String
      Integer in = new Integer(123);
    String str = in.toString();//调用包装类对象的toString()
      System.out.println(str);

    //String转包装
    String str = "321";
      Integer in = new Integer(str);//调用包装类的带String参数的构造方法
      System.out.println(in);


    //基本转String
      int i = 9527;
    String str = Integer.toString(i);//第一种方式:使用包装类的带参toString()
      String str0 = i + "";//第二种无耻的方式
    System.out.println(str);

    //最重要的--String转基本
    String str = "54188";
    int i = Integer.parseInt(str);//调用包装类的parse***()
    System.out.println(i);

  • 相关阅读:
    IKAnalyzer 源码走读
    如何查看java对象的大小
    lucene 一次查询多个id
    what's the difference between grouping and facet in lucene 3.5
    Java HashMap的死循环 以及 LRUCache的正确实现
    Docker 基础技术之 Linux namespace 源码分析
    Docker 基础技术之 Linux namespace 详解
    vhost-user 简介
    DPDK 全面分析
    vhost:一种 virtio 高性能的后端驱动实现
  • 原文地址:https://www.cnblogs.com/gujinshu-wangdan/p/5250034.html
Copyright © 2011-2022 走看看