JAVA实验报告心得(20200623060159)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京联合大学信息学院

“面向对象程序设计”课

程上机实验报告

题目:java上机实验心得体会

姓名(学号) :专业:计算机科学与技术

编制时间:2012年12 月19日

版本: 1.0.0

指导教师:北京联合大学-信息学院编制

实验1 熟悉java 运行环境

实验目的:熟悉jdk 环境和操作,编写简单的java 应用程序。心得体会:在该实验中,我碰到的问题是jdk 环境变量的设置。解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。

实验2 选择语句练习

实验目的:正确理解并能够熟练操作和使用java 的if 和switch 语句。心得体会:我个人感觉有了c 的编程基础,if 和switch 这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟c 非常相近,所以上手比较快。但是在这次程序中,首次涉及到了java 程序的数据输入,与c 区别很大。但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。在第二个小题中还涉及到了charat ()方法,经查阅jdk 文档,知道charat() 方法返回一个位于提供给它的参数索引处的字符,如: str.chatat(0)检索str 中的第一个字符,str.charat(str.length()-1) 检索最后一个字符。我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习

实验4 方法的实现练习实验目的:声明、定义和调用方法,理解实参和形参的含义。心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。方法声明为非void (构造方法除外)则需要用return 语句返回一个相应类型的返回值。

实验5 简单类型数组练习实验目的:学习创建简单类型的数组,并能用循环语句处理数组。心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。我解决的方法如下:

for(i=0; i<6; i++){

n[i] = aa%10; //aa%10 的结果是aa 的末尾数,将多位数aa 的末尾数赋给a[i] aa =

(int)aa/10; // 对aa/10 的结果强制取整,去掉了aa 的末尾数,以便对下一位数的存数。

}

实验6 类和对象的练习

实验目的:正确理解并能够熟练操作和使用java 的类、对象和方法。心得体会:我学会了如何建立类和对象,分别输出其中包含的成员值;以及分别引用各方法,实现不同的操作。在该程序中,我进一步了解了如何定义成员方法和成员属性以及相关方法的调用。特别是我掌握了利用构造方法对成员属性赋初始值。值得一提的是,我在相应的程序中运用了touppercase 方法,经查看jdk 文档知道该方法的作用是返回一个所有字母都被转化为大写字母字符串。

实验7 类的实现

实验目的:使用统一建模语言( uml )设计类,并实现类。 心得体会:通过该实验,我学会了使用

public 、 private 控制访问及其访问权限;体会 了 static 关键字的作用。 并对 java 程序中的类及面向对象

的编程思想有了更进一步的了解。

实验 8 继承的练习 实验目的:正确理解并能够熟练操作和使用 java 类的继承关系。 心得体会: 理解了继承的含义, 并使用 uml 符号设计了继承结构; 掌握了用 java 实现继

承关系;学会了区分方法重写和方法重载; 并深入理解了 abstract 和 final 修饰符的作用。 用 final 标记的变量只能赋值一次,标记的类不可被继承,方法不可被子类重写。用关键字 extends 表继承,例如子类 a 继承了父类 b 则可写作 class a extends b

。在这些概念性知

碰到了输入年月日计算车龄的问题, 我的解决办法如下:

( int)time/10000 是将 8 位数表示的生产年月日强制 将当前年月日

转换为年

age = a2 - a1 +1;// 计算

车龄 return age;

实验 9 抽象类、接口练习

实验目的:综合运用接口,类的知识。 心得体会:在该实验中,我掌握了接口定义,以及类实现接口。接口用 interface 关键 字定义,在接口中,可以用 abstract 是修饰方法的,也可以去掉 abstract ,编译时会默认 为抽象方法。 类实现接口可用 implements 表示,例如 class circle implements shape 表示, circle 类实现了接口 shape 。

实验 10 多态练习 实验目的:理解并使用面向对象的特征:多态。

心得体会:在实验 10 中,我基本掌握了多态的句柄、多态方法的定义。在改程序中,我 遇到了要求随机产生一个图形的难题,通过网上查阅资料,利用系统函数 math.random() 经 一系列的运算处理来随机产生一个图形解决了该难题,具体的程序如下:

public static void main(string[] args) {

} circle cir = new circle(9); square squ = new square(4); shape shape;

int r; r = (int)(math.random()*2);//

用 math.random() 方法产生 0.00 到 if(r == 0)

shape = cir; else shape = squ; shape.testshape(shape); //

同一条语句产生不同的

执行结果,多态 1.00 的随机数 ,乘 2取整后非 0即 1 性。

实验 11 多线程处理

实验目的:理解线程的基本概念。

心得体会: 通过该实验, 基本能够理解线程的运行了。 学会调用 thread 类中的系统函数

setname() 是设置线程名字, start() 是开辟一条新线程, 是获得正在执行的线程的名字, 是 thread 类

中 返 回 该 线 程 的 标 识 符 的 方 法 , 是 thread 类中返回线

程的优先级的方法。

心得体会:对于该实验,由于比较难,只是基本掌握了文件读写的方法和规则,还有待

识点弄明白后, 在解决实际问题时,

public int age(int year) { int age;

int a1 = (int)(time/10000); //

转换成四位数表示的年

}

int a2 = (int)(year/10000); //

以及掌握这些函数的作用是难点,

thread.currentthread().getname() thread.currentthread().getid() thread.currentthread().getpriority()

实验 12 i/o 及文件处理

实验目的:掌握并使用

java 中的 i/o 和文件。

相关文档
最新文档