第五周课程总结&试验报告(三)

                           第五周课程总结&试验报告(三)

1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)

(1)统计该字符串中字母s出现的次数。

public class aaa {
    public static void main(String[] arges) {
        String str1 ="this is a test of java";
        char a[]=str1.toCharArray();
        int b=0;
        for(int i=0;i<a.length;i++) {
            if(a[i]=='s') {
                b++;
            }
        }
        System.out.print(b);
    }
    
}

 

(2)统计该字符串中子串“is”出现的次数。

public class aaa {
    public static void main(String[] arges) {
        String str1 ="this is a test of java";
        char a[]=str1.toCharArray();
        int b=0;
        for(int i=0;i<a.length;i++) {
            if(a[i]=='i'&&a[i=1]=='s') {
                b++;
            }
        }
        System.out.print(b);
    }
    
}

 

(3)统计该字符串中单词“is”出现的次数。

public class aaa {
    public static void main(String[] arges) {
        String str ="this is a test of java";    
        int b=0;
        if(str.contains("is")) {
            b++;        
        }
        System.out.print(b);
    }
}

 

(4)实现该字符串的倒序输出。

public class aaa {
    public static void main(String[] arges) {
        String str="this is a test of java";
        String a[]=str.split(" ");
        for(int i=a.length-1;i>=0;i--) {
            System.out.print(a[i]+" ");
        }
    }
}

 

 

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。

public class aaa {
    public static void main(String[] arges) {
        String str="12jdjfkgj";
        char s[]=str.toCharArray();
        int a=s.length;
        int d=0,i=3;
        while(d<a) {
            d++;
            System.out.print(s[i]);
            i=(i+1)%a;
        }
}
    }

 3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

public class aaa {
    public static void main(String[] arges) {
        String str="ddejidsEFALDFfnef2357 3ed";
        char s[]=str.toCharArray();
        System.out.print("大写字母:");
        for(int i=0;i<s.length-1;i++) {
            
            if(s[i]<='Z'&&s[i]>='A') {
                System.out.print(s[i]);
            }
            }
        System.out.print("\n");
        System.out.print("小写字母:");
            for(int i=0;i<=s.length-1;i++) {
            
            if(s[i]<='z'&&s[i]>='a') {
                System.out.print(s[i]); 
            }
        
            }
            System.out.print("\n");
            System.out.print("其他字符:");
            for(int i=0;i<=s.length-1;i++) {
           
              if((s[i]>90&&s[i]<97)||s[i]<65||s[i]>122)
            {
                System.out.print(s[i]);
            }
            
        }
        
    }
}

 

                                第五周课程总结  

 

本周学习学习了继承.重载与覆写.final关键字.抽象类。
关于继承需要注意以下几点:
子类能够继承父类的public和protected成员变量但不能够继承父类的private成员变量;
对父类的包访问权限成员变量,如果子类和父类在同一个包下,子类才可以继承;
对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,子类的成员变量会屏蔽掉父类的同名成员变量;如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用;
能够继承父类的public和protected成员方法;不能够继承父类的private成员方法;
父类的包访问权限成员方法,当子类和父类在同一个包下,子类能够继承,否则,子类不能够继承;
子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即子类的成员方法会覆盖掉父类的同名成员方法。如果要在子类中访问父类中同名成员方法,需要使用super关键字来进行引用;
隐藏是针对成员变量和静态方法,覆盖是针对普通方法;
子类不能继承父类的构造器,注意如果父类的构造器都是带有参数的,则必须在子类的构造器中通过super关键字调用父类的构造器,如果父类有没有参构造器,在子类的构造器中可不用super关键字,如果没有使用super关键字,系统会自动调用;
一个子类只能继承一个父类,可以用多层继承来实现多重继承,继承要用到extends,格式见书p163;
子类实例化前会先调用父类构造方法再用子类。
关于重载与覆写:
重载 方法名相同参数不同,两个可以同时用,用参数区分开;覆写 方法名相同参数相同,即上一个方法作废。
覆写的两个函数的函数特征相同,重载的两个函数的函数名虽然相同,但函数特征不同。 函数特征包括函数名,参数的类型和个数。
final关键字:
final声明的类不能有子类;
final声明的方法不能被子类所覆写;
final声明的变量即成为常量,常量不可以修改。
抽象类:
包含一个抽象方法的类必须是抽象类;
抽象类和抽象方法都要使用abstract关键字声明;
抽象方法只需要声明而不需要实现;
抽象类必须被子类继承,子类必须覆写抽象类中全部抽象方法。
对象向上转型:父类 父类 = 子类实例
向下转型:子类 子类 = 父类实例

 

posted @ 2019-09-27 15:25  wangdian1  阅读(151)  评论(0编辑  收藏  举报