美文网首页
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(第五周)

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