• Java-常用类(时间类、String等)


    时间类
    1、Date:java最常用的一个时间工具类
    构造方法:Date():当前系统的时间
    2、SimpleDateFormat:美化时间格式
    构造方法:SimpleDateFormat(格式)
    格式:yyyy-MM-dd 年月日
          yyyy-MM-dd HH:mm:ss 年月日时分秒
    方法:format(date)-->标准的时间格式

    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class Test1 {
        public static void main(String[] args) {
            Date date1=new Date();
            System.out.println("当前系统的时间是:"+date1);
            SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //向控制台输出的时间,一定要转化为对应的String
            String message=dateFormat.format(date1);
            System.out.println("修改后当前时间:"+message);
        }
    }
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    public class Test1 {
    //当前系统时间:Date
    //某个具体的时间:GregorianCalendar(年,月-1,日,小时,分钟,秒)
    //显示时间:最后一定要转化为Date,最后利用SimpleDateFormat输出想要时间及表示时间的格式
        public static void main(String[] args) {
    //Calendar:    抽象类,    设定很多针对时间的操作的方法
    //GregorianCalendar:Calendar子类,实现Calendar中所有的抽象的方法,自由去设置一个时间
            Calendar c1=new GregorianCalendar(2020,3,13,13,51,40);//西方的月份+1=东方的月份,西方的月份:0,1,2,...11
            Date date=c1.getTime();//getTime():把GregorianCalendar类对象,转化Date对象
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String message=sdf.format(date);
            System.out.println(message);
        }
    }

    String
    sun公司针对字符串的操作单独设计的一个工具类,使用极其广泛。原则:String内容一旦发生改变,内部就会创建一个新的String对象

    public class Test1 {
    //String:常用的方法
        public static void main(String[] args) {
            String str="helloworld";
    //                    0123456789    
            //String内部结构就是char[],String中有下标,可以通过下标找到对应的字符
            char c1=str.charAt(5);//charAt(index):获得指定下标的字符
            System.out.println(c1);//结果:w
            int index1=str.indexOf('l');//indexOf(char):根据给定字符,获得该字符在当前String第1次出现的位置的下标
            System.out.println(index1);//结果:2
            int indexOW=str.indexOf("ow");//indexOf(String):根据给定字符串,获得该字符串第1次出现的位置的下标
            System.out.println(indexOW);//结果:4
            int index2=str.lastIndexOf('o');//lastIndexOf(char):找到该字符最后出现的位置的坐标
            System.out.println(index2);//结果:6
            int indexOR=str.lastIndexOf("or");//lastIndexOf(String):找到该字符最后一次出现位置的坐标
            System.out.println(indexOR);//结果:6
        }
    }
    public class Test1 {
        public static void main(String[] args) {
            String str="liushishi";
            String str1=str.substring(3);//substring(n):截取从n开始到最后所有的字符串,组成一个新的字符串
            System.out.println(str1);//结果:shishi
            String str2=str.substring(3, 6);//substring(m,n):截取下标从m开始到n之间所有的字符,组成一个新的字符串,从m开始到n-1
            System.out.println(str2);//结果:shi
            String str4="hello.txt";
            if(str4.endsWith(".txt")){//endsWhth(String):判断该字符串是否以String结尾,如果是,返回值是true,反之,false
                System.out.println("是文本文件");//结果:是文本文件
            }else{
                System.out.println("不是文本文件");
            }
            System.out.println(str4.startsWith("he"));//startWith(String):判断该字符串是否以String开头。结果:true
            //分隔字符串:把一个字符串拆分成多个字符串,返回结果是字符串数组
            //split("拆分标志"):通过拆分标志来拆分当前的字符串,返回一个字符串的数组
            String str5="1:Tom:25";
            String[] strs=str5.split(":");
            for(String s:strs){
                System.out.println(s);//结果:1 Tom 25
            }
            //length():返回该字符串长度(字符的个数)
            String str6="123456789";
            System.out.println(str6.length());//结果:9
            String str7="  ";
            System.out.println(str7.length());//结果:2
            String str8="";
            System.out.println(str8.length());//结果:0
    //        String str9=null;
    //        System.out.println(str9.length());--报错
    //抛出NullPointerException:str9根本不存在,不可能调用length()方法,抛出空指针异常
            //比较两个字符串是否相等:字符串里面的内容是否一致
            //equals:比较字符串里的内容一致,区分大小写
            String str10="hello";
            String str11="Hello";
            System.out.println(str10.equals(str11));//结果:false
            //equalsIgnoreCase():比较两个字符串是否相等,忽略大小写
            System.out.println("不区分大小写:"+str10.equalsIgnoreCase(str11));//结果:不区分大小写:true
            //trim():去掉首尾的空格
            String str12="  a b c  ";
            System.out.println("去掉str12首尾空格:"+str12.trim());//结果:去掉str12首尾空格:a b c
            String str13="sfsAdssBQWE";
            //toUpperCase():把所有的字符全部改为大写
            System.out.println("把str13中所有字符全部变成大写:"+str13.toUpperCase());//结果:把str13中所有字符全部变成大写:SFSADSSBQWE
            //toLowerCase():把所有的字符全部改为小写
            System.out.println("把str13中所有字符全部改为小写"+str13.toLowerCase());//结果:把str13中所有字符全部改为小写sfsadssbqwe
        }
    }

    可以变长的字符串
    StringBuffer,StringBuilder
    1、String缺点:字符串的内容有任何的改变,都会创建一个新的String对象,过于频繁修改字符串,会让系统String对象过多,压力过大
    2、StringBuffer:线程安全,出现较早,适合大型的多线程项目。优点:稳定 缺点:速度较慢
    StringBuilder:线程不安全,出现较晚,适合单线程下使用。优点:速度快 缺点:不稳定
    3、append方法:用来拼接字符串,StringBuffer和StringBuilder这两个类都有append方法,无论如何修改,内部永远是一个String对象,不会创建新的String对象

    public class Test1 {
        //StringBuffer和StringBuilder:都是可变长的字符串,而且两个类方法基本一致
        public static void main(String[] args) {
            StringBuffer str=new StringBuffer("今天希望");
    //                                           0 1 2 3
            str.append("能早点放学!");//append(String):往上追加String
            str.append("可惜晚上开会。");
            str.insert(2,"迫切");//insert(index,newString):在StringBuffer的下标位置index追加newString
            str.delete(0, 2);//delete(start,end):删除一段内容(从end-start)之间所有的内容
            str.deleteCharAt(str.length()-1);//deleteCharAt(index):根据下标index删除对应的字符
            //toString():把StringBuffer转化为String字符串
            System.out.println(str.toString());//结果:迫切希望能早点放学!可惜晚上开会
            //append(obj):append可以追加任何的数据类型
            StringBuilder str1=new StringBuilder("今天");
            str1.append(12);
            str1.append(",");
            str1.append(12.1f);
            str1.append(true);
            str1.append('好');
            System.out.println(str1.toString());//结果:今天12,12.1true好
        }
    }
  • 相关阅读:
    程序员的数学基础课
    程序员的数学基础课
    Ruby 自学记录 7
    今日新闻整理 2020-7-22
    github of Ruby developers
    Ruby 自学记录 6 create a new controller action and view
    Ruby 自学记录 5 Using RubyMine that I quickly create Rails project
    Kafka基础(十三): 基本面试题(三)
    Hadoop基础(五十六):MapReduce 过程详解 (用WordCount作为例子)
    Hive面试题(2):Hive 执行过程实例分析
  • 原文地址:https://www.cnblogs.com/lilyo/p/12792875.html
Copyright © 2020-2023  润新知