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

比眉伴天荒 2023-06-01 08:59 62阅读 0赞

第五周课程总结&实验报告三

第五周课程总结

随着时间的推移,一个月过去了,我们学习的java只是也在慢慢的开始出现沉淀。我们开始慢慢熟悉这门语言,尽管只窥见其冰山一角,但足以令人深思。尽管我不是java大佬,也不是专业尖子生,但至少我能做出来,并且还在慢慢变得熟练。这也是令人足以兴奋的。好的,来简单复盘下本周学习及复习到的的知识点:
1.this关键字与supe关键字

(1)this关键字代表了所属函数的调用者对象,this代表了对象的内存地址(在构造函数中打印this会发现结果是一个内存地址),也就是说哪个对象调用了this所在的函数,那么this就指代哪个对象;
(2)this是指向本类中某一个对象的一个变量,this相当于文章中第一人称的“我”,所有人描述自己的时候都会说“我”,只要读“我”的这个人发生变化,这个“我”指向的人就变了;而this关键字与之类似,this是抽象的,刚开始并不知道是指代谁,this是每一个对象携带的变量,这个变量所指向的都是自己,this只是起到了一个描述的作用:只要有一个具体的对象来执行的时候,this就用这个对象的this,换一个对象,this就变成另一个对象的this,所以只有在执行的时候才知道指向谁。就像文章中的“我”,只有确定了谁是读这篇文章的,才能确定这个“我”指代谁;
(3)this关键字代表的是对象的引用,也就是this在指向一个对象,所指向的对象就是调用该函数的对象引用;
4.this关键字的作用:
(1)如果存在同名的成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据;
(2)在一个构造函数中可以调用另外一个构造函数初始化对象;
5.this关键字要注意的事项:
(1)存在同名的成员变量与局部变量时,在方法的内部访问的是局部变量(Java采取的是“就近原则”的机制访问的);
(2)如果在一个方法中访问了一个变量,该变量只存在成员变量的情况下,那么Java编译器会在该变量的前面添加this关键字;
6.this关键字调用其他的构造函数要注意的事项:
(1)this关键字调用其他的构造函数时,this关键字必须要位于构造函数中的第一个语句;
(2)this关键字在构造函数中不能出现相互调用的情况,因为是一个死循环;引用自《this关键字与super关键字详解》

2.本周还深入讲解了java的继承
其中就有讲到super关键字的部分,相关资料见上文。还讲解了子类对象的实例化过程和方法的覆写。

3.final关键字的作用和实例还有抽象类
讲解了final关键字的使用和实例展现。还了解了抽象类和abstract关键字。
4.对象的多态性

对象向上转型: 父类 子类对象 = 子类实例;
对象向下转型: 子类 子类对象 = (子类)父类实例;

我查阅相关资料,找到一篇相当易懂的讲解多态性博文《Java之对象的多态性》

实验报告:

实验三 String类的应用

实验目的
掌握类String类的使用;
学会使用JDK帮助文档;
实验内容
1.已知字符串:”this is a test of java”.按要求执行以下操作:(要求源代码、结果截图。)
统计该字符串中字母s出现的次数。
统计该字符串中子串“is”出现的次数。
统计该字符串中单词“is”出现的次数。
实现该字符串的倒序输出。
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
1585170-20190927141504279-799927269.jpg

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

第一题:

源代码:

  1. package test; import java.util.Scanner; public class test1 { public static void main(String args[]) { int count1=0,count2=0,count3=0; int x=0; String str1="this is a test of java"; for(int i=0;i<str1.length();i++) { if(str1.indexOf("s", x)!=-1) { x=str1.indexOf("s",x)+1; count1++; } } x=0; for(int i=0;i<str1.length();i++) { if(str1.indexOf("is", x)!=-1) { x=str1.indexOf("is",x)+2; count2++; } } x=0; for(int i=0;i<str1.length();i++) { if(str1.indexOf(" is ", x)!=-1) { x=str1.indexOf(" is ",x)+2; count3++; } } System.out.println("s出现次数为:"+count1); System.out.println("子串is出现次数为:"+count2); System.out.println("单词is出现次数为:"+count3); char c[]=str1.toCharArray(); for(int i=str1.length()-1;i>=0;i--) { System.out.print(c[i]); } } }

实验截图:
1585170-20190927145811871-251309607.png

第二题:

源代码:

  1. package test; import java.util.Scanner; public class test2 { public static void main(String args[]) { System.out.println("输入密码:"); Scanner pa=new Scanner(System.in); String password1 = pa.nextLine(); char c[]=password1.toCharArray(); System.out.print("加密后密码为:"); System.out.print(c[password1.length() - 3]); System.out.print(c[password1.length() - 2]); System.out.print(c[password1.length() - 1]); for(int i=0;i<password1.length()-3;i++) { System.out.print(c[i]); } /*System.out.println("子串is出现次数为:"+count2); System.out.println("单词is出现次数为:"+count3);*/ } }

实验截图:
1585170-20190928151730702-926608559.png

第三题:

源代码:

  1. package test; import java.util.Scanner; public class test3 { public static void main(String args[]) { int count1=0,count2=0,count3=0; String str1 ="ddejidsEFALDFfnef2357 3ed"; char c[]= str1.toCharArray(); int len=str1.length(); for(int i=0;i<str1.length();i++) { if(c[i]>='A'&&c[i]<'Z') { count1++; } else if(c[i]>='a'&&c[i]<'z') { count2++; } else { count3++; } } System.out.println("大写字母数:"+count1); System.out.println("小写字母数:"+count2); System.out.println("非英文字母数:"+count3); System.out.println("字符串长度 :"+len); } }

实验截图:
1585170-20190927141942843-202997194.png

转载于:https://www.cnblogs.com/LfanWyuXooo/p/11597534.html

发表评论

表情:
评论列表 (有 0 条评论,62人围观)

还没有评论,来说两句吧...

相关阅读

    相关 试验报告

    2019春第三次课程设计实验报告 一.实验项目名称 扫雷 二.实验项目功能描述 游戏区包括雷区、地雷计数器(位于左上角,记录剩余地雷数)和计时器(位于右上角,记录