美文网首页
Java(第五周)

Java(第五周)

作者: mwj610 | 来源:发表于2019-04-01 08:31 被阅读0次

一、构造方法

构造方法格式:
权限 构造方法名(参数列表)
{

}
方法的名字必须和类的名字完全一致。
构造方法不允许写返回值类型,void也不能写


构造方法和一般方法的区别

  • 构造方法在对象创建时就执行了,而且只执行一次。
  • 一般方法是在对象创建后,需要使用时才被对象调用,并且可以被多次调用。

this关键字:
构造方法调用格式:
this(参数列表);


super关键字
super( )调用的是父类的空参数构造
super(参数)调用的是父类有参数的构造方法
子类的构造方法,有一个默认添加的构造方法
子类构造方法的第一行,有一个代码super( )
public Student( ){
super( );
}
子类中所有的构造方法,无论重载多少个,第一行必须是super()
如果子类有多个构造方法,子类任意调用一个就好


无论如何,子类的所有构造方法,直接、间接必须调用到父类构造方法。子类的构造方法什么都不写,默认的构造方法第一行super();

===============================================================

二、字符串

字符串是常量
字符串的本质是一个字符的数组


String(byte[ ] bytes)传递字节数组;字节数组转换为字符串;查询编码表
String(byte[ ] bytes,int offest,int length):字节数组的一部分转换为字符串;查询编码表
offest:数组的起始索引 length:个数

package cn.itcast.demo02;
public class StringDemo3 {
    public static void main(String[] args) {
        function();
    }
    public static void function() {
        byte[] bytes = {97,98,99,100};
        String s = new String(bytes);
        System.out.println(s);      //abcd
        byte[] bytes1 = {65,66,67,68,69};
        String s1 = new String(bytes1,1,4);
        System.out.println(s1);   //BCDE
    }
}

String(char[ ] value) :将字符数组转换为字符串;字符数组的参数,不查询编码表

    public static void function_1() {
        char[] ch = {'a','1','苗','d','f'};
        String s2 = new String(ch);
        System.out.println(s2);
        String s3 = new String(ch,1,3);
    }
}

String类的方法查找

1.获取长度:String.length

         String s = "asfafajhoc12snp面";
         int length = s.length();   

2.获取字符串的一部分:String substring(int beginIndex,int endIndex )
*包含头,不包含尾
String substring(int beginIndex): 包含头和后面的全部

         String s1 = "how are you";
         s1 = s1.substring(2,7);
         System.out.println(s1);    //w are

3.将字符串转为字符数组:getbytes

 String s2 = "abcd";
         byte[] bytes = s2.getBytes();
         for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]); //97 98 99 100

4.将字符串转为字符数组:char[ ] toCharArray()

String s3 = "maio";
         char[] ch = s3.toCharArray();
         for (int i = 0; i < ch.length; i++) {
            System.out.println(ch[i]);//m a i o 
        }

5.计数器

public class StringTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        getCount(str);
    }
    public static void getCount(String str) {
        int upper = 0;
        int lower = 0;
        int digit = 0;
        for (int i = 0; i < str.length(); i++) {
             char c = str.charAt(i);
             if(c>=65 && c<=90) {
                 upper++;
             }
             else if(c>=97 && c<=122) {
                 lower++;
             }
             else if(c>=48 && c<=57){
                 digit++;
             }
        }
        System.out.println(upper);  //4
        System.out.println(lower);  //4
        System.out.println(digit);  //5
    }
}

字符串出现次数

    public static int getStringCount(String str,String key) {
        int count = 0;
        int index = 0;
        while(( index = str.indexOf(key)) !=-1 ) {
            count++;
            str = str.substring(index+key.length());
        }
        return count;
    }
}

StringBufferzi字符串的缓冲器对象
StringBuffer类方法insert
6.insert(int index,任意类型):将任意类型数据,插入到缓冲区的指定索引上。

   public static void function_2() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("abcdef");
        buffer.insert(3, 6.23);
        System.out.println(buffer);  //abc6.23def
   }

7.repalce(int strat,int end,String str):将指定的索引范围内的所有字符,替换成新的字符串。

   public static void function_3() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("abcdef");
        buffer.replace(1, 4, "Q");
        System.out.println(buffer); //aQef
   }

8.reverse( ):将缓冲区的字符反转。

   public static void function_4() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("abcdef");
        buffer.reverse();
        System.out.println(buffer);  //fedcba
   }

9.String toString( ) 继承Obejct,重写toString( ):将缓冲区所有的字符变成字符串

   public static void function_5() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("abcdef");
        buffer.append(12345);
        String s = buffer.toString();
        System.out.println(s);  //abcdef12345
   }

10.StringBuilder类:StringBuilder比StringBuffer快

===============================================================

三、正则表达式

1.正则表达式
正则表达式是一个字符串。使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

相关文章

  • Java(第五周)

    一、构造方法 构造方法格式:权限 构造方法名(参数列表){ }方法的名字必须和类的名字完全一致。构造方法不允许写返...

  • 泛型术语

    《Effective Java》第五章中相关术语:

  • 是否,我们都会回头

    这是木子游荡在这座熟悉而又陌生的城市的第五周,也是木子失业的第五周,也是公司宣布破产的第五周。这座城市对于木子来说...

  • 2019-02-10

    第五周周检视 今天是梦想训练营开营第三十五天,第五周,做一下周检视...

  • 效能复盘践行(五)掌握未来两周的固定日程--五色周表的运用

    212班10.0践行第五周作业安排(2020.5.29~6.4) 第五周主题:掌握未来两周的固定日程--五色周表的...

  • 九章算法课程顺序

    第1周 第一周: Java与算法基础入门 Java 语法基础 Introduction to Java 变量,二进...

  • 轻松第五周

    我把题目命名为“轻松第五周”是因为在第五周我想我相信大部分的作业都写完了吧,这样不就轻松了,第五周,虽然作...

  • (周更118)5月随记

    之前在计划这个简书的时候,对于每个月的第五周安排是随记,但是第五周并不那么容易出现,这次是今年第一次遇到第五周...

  • 第五周05反向形成

    第五周05反向形成

  • 正念冥想--知行家11.0精力管理.2践行之五

    212班11.0践行第五周作业安排(2021.9.18~9.24) 第五周主题:正念冥想 作业:1.结合平时的学习...

网友评论

      本文标题:Java(第五周)

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