美文网首页
Java基础(6)——基础类库和时间提取

Java基础(6)——基础类库和时间提取

作者: 让时间走12138 | 来源:发表于2020-04-06 14:15 被阅读0次

    本节内容

    1.String字符串

    2.StringBuilder

    3.提取时间

    一、String字符串

    1.基础类库:不用刻意去背,知道这个类是做什么,有什么方法,大概知道这个方法里面的单词即可
    2.字符串:①String:不可变的字符串,没有直接操作字符串的增加、改变、删除的方法 ②StringBuilder:可变字符串
    3.String类使用final修饰,不能子类化,也就是不能作为父类被其他类继承,以下操作不合法
    class MyString extends String{
        
    }
    
    4.创建字符串:(1)常量字符串
         String country= "中国";
         String city="重庆";
    
    (2)使用构造方法创建,其中detail1在栈上定义,new的对象在堆里面。“中国”在常量区,虽然和上面的country指向的内容相同,但它们是不同的。country是在栈里面创建的对象,直接指向常量区的“中国”,而detail1指向的先是堆里面的一个对象,然后堆里面的对象再指向“中国”。
     String detail1=new String("中国");
    
    注:三种比较方法 ①==:比较的是对象本身 ②.equals()比较的是内容③compareTo方法:获取大小关系,返回值为 1:a>b 0:a=b -1:a<b
           System.out.println(country==detail1);
           System.out.println(country.equals(detail1));
          System.out.println(country.compareTo("中国1"));
    
    所以下面内容前者显示的是false,而中间显示的是true,最后显示的是-1。以后比较字符串是否相同,一般用.equals()方法
    (3)创建一个字符数组,然后将数组名传给new String 方法
           char [] name= new char[]{'a','b','c','d','e','f'};
           String s_name= new String(name);
    
    5.字符串的长度 length
    Java的字符串有一个.length方法直接获取字符串的长度,在遍历循环时可以直接调用该方法
        for (int i=0;i<s_name.length();i++){
               System.out.println(s_name.charAt(i));
           }
    
    6.判断字符串是否为空,调用IsEmpty方法
    if(s_name.isEmpty()){  
           }
    
    7.判断字符串是不是以某个字符串开头/结尾
    ①判断以某个字符串开头,调用startsWith方法,一种是从头有特定字符串,还有一种是从第几个开始有特定字符,输出结果显示为true或false
           String url= "http://www.baidu.com";
           System.out.println(url.startsWith("http"));
           System.out.println(url.startsWith("http",4));
    
    ②判断以某个字符串结尾,调用endsWith方法
         String pic="http://www.baidu.com/image.1.jpg";
            if(pic.endsWith("jpg")){
                System.out.println("图片");
            }
    
    8.获取子字符串在字符串中的起始位置,调用indexOf函数
    以下代码第一行结果显示11,如果想从第几位以后开始找,就在后面写上一个数字,然后就会显示这个数后面第一次出现这个子字符串的起始位置
     System.out.println(pic.indexOf("baidu"));
    System.out.println(pic.indexOf("bai",8));
    
    9.获取子字符串,调用substring函数
    如果只有一个参数,那么就是从这个索引值一直到字符串结尾的这一段。如果想要中间的某一段,那么就传两个参数,需要那段的开头到结尾
            System.out.println(pic.substring(4));
            System.out.println(pic.substring(3,8));
    
    10.字符串的替换
    用某一段字符串替换原字符串的某一段字符串,调用replaceAll()方法,有两个参数,用后面的替换前面的。注意,替换之后会输出一段新的字符串,但是原来的字符串并没有被改变
     System.out.println(pic.replaceAll("baidu","tengxun"));
    
    字符串分割,以原字符串的某些符号作为分隔符,将字符串分隔开,调用splict()方法,中间的参数为所选分隔符
         String[] splict=  pic2.split("/");
          for(String comp:splict){
              System.out.println(comp);
          }
    
    11.将字符串末尾的空格去掉,调用trim方法
     System.out.print(pic2.trim());
    

    二、StringBuilder

    StringBuilder并不是继承String类,它创建的是可变的字符串,先创建一个StringBuilder类的对象
     StringBuilder test =new StringBuilder();
    
    1.拼接字符:可以调用append()函数将其他的字符串拼接给它
           test.append("My name is ");
           test.append("jack");
    
    2.替换字符:可以调用replace()函数替换它,函数有三个参数,前两个表示你要替换的字符串的始末位置,最后是你要的替换它的字符串
      test.replace(0,10,"merry");
    
    如果是想要替换某个特定的字符串,还可以调用lastindexOf方法记录被替换的字符串的首位置,然后用.length方法获取该字符串的长度
           int start =test.lastIndexOf("jack");
           test.replace(start,start+"jack".length(),"merry");
    
    3.删除字符:调用delet()函数删除字符,中间两个参数表示要删除字符的始末位置
            test.delete(1,3);
            //删除所有
            test.delete(0,test.length());
    
    4.插入数据,调用insert()方法,有两个参数,第一个是你要插入的位置,第二个是插入的数据
      test.insert(1,"My");
    

    三、提取日期(提取的都是当前这一刻的时间)

    (一)DataFormat方法
    1.首先创建一个日期对象
     Date date =new Date();
    
    2.可以调用format方法将现在的日期输出,如果最开始给一个字符串赋值为d,表示日,1-2位显示,如2,无前置0,例如以下代码
          String format= "dd";
            SimpleDateFormat dateFormat =new SimpleDateFormat(format);
           String str= dateFormat.format(date);
           System.out.println(str);
    
    3.结果输出为06,因为今天是4月6日,如果format是d的话,那么输出的就只有6。给format赋的值的形式不一样,结果也不一样。如果是“EEE”,那么就会输出星期一。
    4.如果给format赋的值是MM-dd,那么结果就显示为04-06
    5.如果想要输出年份的话,那么在前面添加一个y就行了,输出结果就为2020-04-06。在这些字母中年不仅可以加-,还可以加文字。例如格式为y年MM月dd日,那么输出结果就为2020年04月06日。如果是yy那么就是两位数字格式显示年份,yyy和yyyy都是四位数字显示年份
    6.hh表示12进制的小时,HH表示的是24进制的小时,mm和ss分别表示分钟和秒
    (二)Calendar方法
          Calendar calendar=Calendar.getInstance();
            //获取时间
            System.out.println(calendar.get(Calendar.YEAR));
            System.out.println(calendar.get(Calendar.MONTH)+1);
            System.out.println(calendar.get(Calendar.DATE));
            System.out.println(calendar.get(Calendar.HOUR));
            System.out.println(calendar.get(Calendar.MINUTE));
            System.out.println(calendar.get(Calendar.SECOND));
    
    这个就需要自己拼接
     String time= calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)
            +"-"+calendar.get(Calendar.DATE);
             System.out.println(time);
    
    因为第二种Calendar方法比较繁琐,所以第一种Data方法用的比较多,以后我们如果要使用这个也可以把这个写成一个函数封装起来。
    OK,以上就是我们今天的全部内容了,撒悠拉拉。

    相关文章

      网友评论

          本文标题:Java基础(6)——基础类库和时间提取

          本文链接:https://www.haomeiwen.com/subject/gwjpphtx.html