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.对象的多态性
对象向上转型: 父类 子类对象 = 子类实例;
对象向下转型: 子类 子类对象 = (子类)父类实例;