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

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

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

package work1;

public class Work1 {
	public static void main(String[] args) {
        String str = "this is a test of java";
        char c[] = str.toCharArray() ;
        int i=0;
        for(char a:c) {
            if(a=='s') {
                i++;
            }
        }
        System.out.println("s的数量为:"+i);
    }
}


实验截图

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

package work1;

public class Work2 {

	public static void main(String[] args) {
		String str = "this is a test of java";
        int count=0;
        int index = 0;
        while(true) {
        	int m=str.indexOf("is", index);
        	if(m!=-1) {
        		index=m+1;
        		count++;
        	}else 
        		break;
        }
        System.out.println("is出现的次数:"+count);
	}
}


实验截图

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

package work1;

public class Work3 {
	public static void main(String[] args) {
        String str="this is a test of java";
        String s[]=str.split(" ");
        int count=0;
        for(int i=0;i<s.length;i++){
            if(s[i].equals("is")){
                count++;
            }
        }
        System.out.println("单词is出现的次数:"+count);
    }
}

实验截图

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

package work1;

public class Work4 {

	public static void main(String[] args) {
		String str="this is a test of java";
		char s[]=str.toCharArray();
		for(int i=s.length-1;i>=0;i--) {
			System.out.print(s[i]);
		}
	}
}

实验截图

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

实验代码

package work2;
import java.util.*;
public class Work1 {

	public static void main(String[] args) {
		System.out.println("请输入一个字符串:");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		char s[] = str.toCharArray();
		char asc=0;
		for(int i=0;i<s.length;i++) {
			asc=(char)(s[i]+3);
			System.out.print(asc);
		}
	}
}

运行截图

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

实验代码

package work2;

public class Work2 {

	public static void main(String[] args) {
		int big=0,small=0,count=0;
		String str="ddejidsEFALDFfnef2357 3ed";
		char s[]=str.toCharArray();
		for(int i=0;i<s.length;i++) {
			if(s[i]>='a'&&s[i]<='z') {
				small++;
			}else if(s[i]>='A'&&s[i]<='Z') {
				big++;
			}else {
				count++;
			}
		}
		System.out.println("大写字母个数为:"+big);
		System.out.println("小写字母个数为:"+small);
		System.out.println("非字母个数为:"+count);
	}
}

运行截图

第五周学习总结

1类的继承格式

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

class 父类 {
}
 
class 子类 extends 父类 {
}

2继承的特性

1.子类拥有父类非 private 的属性、方法。
2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3.子类可以用自己的方式实现父类的方法。

3.一个子类只能继承一个父类

4.this和super的区别:

this:访问本类中的属性,如果本类没有此属性则从父类中继续查找;访问本类中的方法,如果本类中没有此方法则从父类中继续查找;调用本类构造,必须放在构造方法的首行;表示当前对象。
super:访问父类中的属性;直接访问父类中的方法;调用父类构造,必须放在子类构造方法的首行。
this和super都可以调用构造方法,但两者是不可以同时出现的。


区别点 this super
属性访问 访问本类中的属性,如果本类没有此属性则从父类中继续查找 访问父类中的属性
方法 访问本类中的方法,如果本类中没有此方法则从父类中继续查找 直接访问父类中的方法
调用构造 调用本类构造,必须放在构造方法的首行 调用父类构造,必须放在子类构造方法的首行
特殊 表示当前对象 无此概念

5.final:final声明的类不能有子类;;final声明的方法不能被子类所覆写;final声明的变量及成为常量。

6包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需要声明而不需要实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。

7.对象的多态性

对象向上转型: 父类 子类对象 = 子类实例;
对象向下转型: 子类 子类对象 = (子类)父类实例;
posted @ 2019-09-27 17:27  zzwwll  阅读(196)  评论(1编辑  收藏  举报