加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 07:34:06 所属栏目:Java 来源:网络整理
导读:第五周课程总结: 这一周学了很多知识,如下: 一、继承: 继承,顾名思义,就是“子承父业”,在Java里面就是子类继承父类的属性,构造方法等等,这其中最重要的就是extends关键词了,可以用它来实现继承,继承的基本格式: class Student extends Person

第五周课程总结:
这一周学了很多知识,如下:
一、继承:
继承,顾名思义,就是“子承父业”,在Java里面就是子类继承父类的属性,构造方法等等,这其中最重要的就是extends关键词了,可以用它来实现继承,继承的基本格式:

class Student extends Person

子类只有一个父类,但是父类可以有多个子类,因为在Java中只允许单继承,不能使用多重继承,extends关键词也可以实现继承,但它本意是拓展,与其说是继承,不如是一个类拓展已有类的功能,又称派生类。
子类不能直接访问父类中私有操作,但可以通过其他操作间接访问。

二、方法覆写与重载的区别
覆写的单词为:Overriding,重载的单词是:Overloading;重载的方法名称相同,但参数的类型或个数不同,覆写的所有方法名称,参数类型,返回值类型全部相同;被覆写的方法不能拥有更严格的权限;重载是发生在一个类中,而覆写是发生在继承类中。

三、super关键词
super可以从子类中调用父类的构造方法、普通方法、属性。super与this一样,都是要放在构造方法首行。
super与this非常相似,但还是存在很大的区别
在访问方法和属性时,this是先访问本类,如果没有则去父类中继续查找,而super是直接访问父类;在调用构造方法是,this必须放在构造方法首行,而使用super必须放在子类构造方法首行。

四、final关键词
final是结束的意思,所有final就是说明此类不能被继承了就是没有子类了,在使用final声明变量时,要求全部字母大写!

五、抽象类:
抽象类的作用就是比普通类多了一些抽象方法:

abstract class 抽象类名称{
        属性;
        访问权限  返回值类型  方法名称(参数){                               //普通方法
            [return 返回值];
}
     访问权限  abstract  返回值类型  方法名称(参数);                    //抽象方法

}

其中可以得知抽象类和抽象方法都需要使用abstract关键词声明,抽象方法只需要声明,而不用实现,抽象类必须被子类继承,子类必须覆写抽象类中的全部抽象方法

六、对象的多态性
在Java中对象主要以方法的重载与覆写和对象的多态性体现,
多态性主要分为向上转型和向下转型,向上转型是子类对象转向父类对象,向下转型则相反,在这其中在发生向下转型之前必须先发生向上转型,不然将会出现对象转换异常。

试验报告(三)
一、已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
1.统计该字符串中字母s出现的次数。

package 作业;

public class Java1 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str=new String("this is a test of java");
        char c[]=str.toCharArray();
        int count =0;
        for(int i=0;i<c.length;i++) {
            if(c[i]=='s') {
                count++;
                }
            
}
System.out.println("s个数:"+count);
    }
    }

截图:

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

package 作业;

public class Java3 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str=new String("this is a test of java");
        int count=0;
        int i=0;
        while(str.indexOf("is",i)!=-1){
            count++;
            i=str.indexOf("is",i)+1;
            
        }
        System.out.println("is个数:"+count);

    }

}

截图:

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

package 作业;

public class Java4 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str="this is a test of java";
        int count=0;
        
        String[] c=str.split(" ");
        for(String e:c) {
            if(e.equals("is")) {
                count++;
            }
        }
        System.out.println("is作为字串出现的次数:"+count);
    }

}

截图:

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

package 作业;

public class Java5 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根


                StringBuffer str=new StringBuffer();
                str.append("this is a test of java");
                System.out.print("倒序:"+str.reverse());


    }

}

截图:

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

package 作业1;

import java.util.Scanner;

public class Java {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int j=0,i=0;
        System.out.println("输入一个字符串:");
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        char c[]=str.toCharArray();
        char[] c1=null;
        c1=new char[str.length()];                        
        for(i=c.length-3;i<c.length;i++) {
            c1[j]=c[i];
            j++;
        }
        for(i=0;i<c.length-3;i++) {
            c1[j]=c[i];
            j++;
        }
        System.out.print("加密后:");
        System.out.println(c1);


    }

}

截图:

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

package 作业1;

public class Java4 {
    public static void main(String[] args) {
        String str="ddejidsEFALDFfnef2357 3ed";
        int c1=0,c2=0,c3=0;
        char c[]=str.toCharArray();
        for(int i=0;i<str.length();i++) {
            if('A'<=c[i]&&c[i]<='Z') {
                c1++;
            }
            else if('a'<=c[i]&&c[i]<='z') {
                c2++;
            }
            else {
                c3++;
            }
        }
        System.out.println("大写字母数:"+c1);
        System.out.println("小写字母数:"+c2);
        System.out.println("非字母数:"+c3);
    }

}

截图:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读