版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java实验的心得体会java实验心得体会篇一:java实验总结1. 设计一个Person类,包含:姓名,年龄,性别。要求:该类至多只能创建一男、一女两个对象!2. 设计一个测试类Test,创建若干个Person类对象,测试是否符合要求。 package test8;class person String name;int age;char sex;static int flag1 = 1, flag2 = 1;private person(String n, int a, char s) name = n;age = a;sex = s;if (s = m) flag1-;if (s = f
2、) flag2-;public static person newperson(String n, int a, char s) if (s = m & flag1 != 0) person p = new person(n, a, s);return p; else if (s = f & flag2 != 0) person p = new person(n, a, s);return p; else return null;public String toString() return (name: + name + age: + age + sex: + sex);public cla
3、ss test public static void main(String args) person p1 , p2 , p3 ;p1= person.newperson(mary, 11, f);p2=person.newperson(tom, 14, m);p3=person.newperson(jane, 13, f);System.out.println(p1);System.out.println(p2);System.out.println(p3);1. 设计一个数据单元类DataUnit, 它包含学号(Number)和姓名(Name)两个数据成员。2. 设计两个线程,一个线程往
4、数据单元里写信息,一个线程从数据单元里读信息。要求使用线程同步技术,使得每写一次就往外读一次。例如,写和读的数据序列为:Write: 1, Name1Read: 1, Name1Write: 2, Name2Read: 2, Name2.package test7;class DataUnitint number;String name;int max;boolean flag=false;public DataUnit(int number, String name,int max)=name;this.max=max;public synchronized void in
5、()if(flag)trywait();catch(Exception e)System.out.println(Write number:+(+number)+write name:+(number);flag=true;notify();public synchronized void out()if(!flag)trywait();catch(Exception e)System.out.println(read number:+(number)+read name:+(number);flag=false;notify();class write extends ThreadDataU
6、nit x=null;public write(DataUnit x)this.x=x;public void run()while(x.numberx.max)x.in();class read extends ThreadDataUnit x=null;public read(DataUnit x)this.x=x;public void run()while(x.number=x.max)x.out();public class test7 public static void main(String args) DataUnit x=new DataUnit(0,mary,10);ne
7、w write(x).start();new read(x).start();设计一个线程Thread类的子类DataThread, 使用DataThread构建两个线程,分别输出50以内的奇数和偶数,并使两个线程并发执行。package test6;class datathread extends Threadprivate int number;String flag;public datathread(int num)number=num;if(number=-2)flag=even;elseflag=odd;public void run()int result=number;Syst
8、em.out.println(thread +flag+ starts!);while(result+2=50)result=result+2;System.out.println(an +flag+ number:+result);System.out.println(thread +flag+ ends!);public class Main public static void main(String args) System.out.println(main thread starts!);datathread thread1=new datathread (-2);datathrea
9、d thread2=new datathread (-1);thread1.start();thread2.start();System.out.println(main thread ends!);1. 设计一个学生Student类,包含学号(Sno),姓名(Name),所在系(Dept)等属性。创建若干Student类的对象,添加到一个向量Vector中,并遍历输出该向量各元素值。package test5;import java.util.*;public class Student String sno;String name;String dept;public Student(St
10、ring no,String n,String p)this.sno=no;=n;this.dept=p;public String toString()return(sno:+sno+ name:+name+ dept:+dept);public static void main(String args) Student stu;stu=new Student3;stu0=new Student(001,Mary,SS);stu1=new Student(002,Tom,CS);stu2=new Student(003,Hellen,IS);Vector v=new Vec
11、tor();for(int i=0;istu.length;i+)v.add(stui);Iteratornum=v.iterator();while(num.hasNext()System.out.println(num.next();2. 已知:哈希表HashTablehTable = newHashTable()。编程遍历hTable,要求写出两种方式。 package test5hash;import java.util.*;import java.lang.Iterable;public class Hash public static void main(String args)
12、HashtablehTable = new Hashtable();hTable.put(001, a);hTable.put(002, b);hTable.put(003, c);Iteratori = (Iterator)hTable.keys();while(i.hasNext()int j = i.next();java实验心得体会篇二:java上机实验心得体会报告北京联合大学 信息学院“面向对象程序设计”课程上机实验报告题 目: JAVA上机实验心得体会姓名(学号):专 业: 计算机科学与技术编 制 时 间: 2012年12月19日版 本: 1.0.0指 导 教 师:北京联合大学-信
13、息学院编制实验1 熟悉Java运行环境实验目的:熟悉JDK环境和操作,编写简单的Java应用程序。心得体会:在该实验中,我碰到的问题是JDK环境变量的设置。解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。实验2 选择语句练习实验目的:正确理解并能够熟练操作和使用Java的if和switch语句。心得体会:我个人感觉有了C的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟C非常相近,所以上手比较快。但是在这次程序中,首次涉及到了java程序的数据输入,与C区别很大。但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。在第二个
14、小题中还涉及到了charAt()方法,经查阅JDK文档,知道charAt()方法返回一个位于提供给它的参数索引处的字符,如: str.chatAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符。我运用此方法解决了比较字符串间首字母异同的问题。实验3 迭代练习实验目的:正确理解并能够熟练操作和使用Java的for、while、do.while语句。 心得体会:在该实验中,我学会了为具体操作选择最合适的循环语句及for、while、do.while语句的相互转换使用。最重要的是,明白了JAVA程序中,定义方法中的局部变量时一定要赋初始值,否则编
15、译不能通过会报错;但类中的成员变量则不一定需要。如我在实验3main()方法定义的整型局部变量command,当不初始化则不能通过编译。原因是局部变量不能有JVM自动赋给相关的默认值,而成员变量可以。实验4 方法的实现练习实验目的:声明、定义和调用方法,理解实参和形参的含义。心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。实验5 简单类型数组练习实验目的:学习创建简单类型的数组,并能用循环语句处理数组。心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌
16、握了将数组作为方法的传入参数和返回值。在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。我解决的方法如下:for(i=0; i6; i+)ni = aa%10; /aa%10的结果是aa的末尾数,将多位数aa的末尾数赋给ai aa = (int)aa/10; /对aa/10的结果强制取整,去掉了aa的末尾数,以便对下一位数的存数。实验6 类和对象的练习实验目的:正确理解并能够熟练操作和使用Java的类、对象和方法。心得体会:我学会了如何建立类和对象,分别输出其中包含的成员值;以及分别引用各方法,实现不同的操作。在该程序中,我进一步了解了如何
17、定义成员方法和成员属性以及相关方法的调用。特别是我掌握了利用构造方法对成员属性赋初始值。值得一提的是,我在相应的程序中运用了toUpperCase方法,经查看JDK文档知道该方法的作用是返回一个所有字母都被转化为大写字母字符串。实验7 类的实现实验目的:使用统一建模语言(UML)设计类,并实现类。心得体会:通过该实验,我学会了使用public、private控制访问及其访问权限;体会了static关键字的作用。并对JAVA程序中的类及面向对象的编程思想有了更进一步的了解。实验8 继承的练习实验目的:正确理解并能够熟练操作和使用Java类的继承关系。心得体会:理解了继承的含义,并使用UML符号设
18、计了继承结构;掌握了用Java实现继承关系;学会了区分方法重写和方法重载;并深入理解了abstract 和 final修饰符的作用。用final标记的变量只能赋值一次,标记的类不可被继承,方法不可被子类重写。用关键字extends表继承,例如子类A继承了父类B则可写作 class A extends B。在这些概念性(转 载于: :java实验心得体会)知识点弄明白后,在解决实际问题时,碰到了输入年月日计算车龄的问题,我的解决办法如下:public int age(int year)int age;int a1 = (int)(time/10000); /(int)time/10000是将8位
19、数表示的生产年月日强制转换成四位数表示的年int a2 = (int)(year/10000); /将当前年月日转换为年 age = a2 - a1 +1;/计算车龄 return age;实验9 抽象类、接口练习实验目的:综合运用接口,类的知识。心得体会:在该实验中,我掌握了接口定义,以及类实现接口。接口用interface关键字定义,在接口中,可以用abstract是修饰方法的,也可以去掉abstract,编译时会默认为抽象方法。类实现接口可用implements表示,例如class Circle implements Shape表示,Circle类实现了接口Shape。实验10 多态练习
20、实验目的:理解并使用面向对象的特征:多态。心得体会:在实验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.0
21、0到if(r = 0) shape = cir; else shape = squ; shape.testShape(shape); /同一条语句产生不同的执行结果,多态1.00的随机数,乘2取整后非0即1 性。实验11 多线程处理实验目的:理解线程的基本概念。心得体会:通过该实验,基本能够理解线程的运行了。学会调用Thread类中的系统函数以及掌握这些函数的作用是难点, setName()是设置线程名字,start()是开辟一条新线程,Thread.currentThread().getName()是获得正在执行的线程的名字,Thread.currentThread().getId()是th
22、read类中返回该线程的标识符的方法,Thread.currentThread().getPriority()是thread类中返回线程的优先级的方法。实验12 I/O及文件处理实验目的:掌握并使用Java中的I/O和文件。心得体会:对于该实验,由于比较难,只是基本掌握了文件读写的方法和规则,还有待17周JAVA实训时继续攻坚克难。结语:在这一系列的实验中,我基本掌握了Java的编程规则、知识要点和一些小技巧,特别是对面向对象的编程思想和风格有了进一步的认识和体会。同时,因正确的编出程序而带来的成就感让我对编程更加感兴趣。对于在这些实验过程中,请教老师、同学互助、查阅资料等基本的学习方式,使我更加领悟到集体和团队的力量,也树立了敢于攻坚的信心。java实验心得体会篇三:JAVA实训心得体会JAVA实训心得在本学期的二周时间内,我们在学校机房进行了为期二周的JAVA实训。现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,也学到平常在课堂中没有学到的东西,在JAVA API中又多认识了几种类,使我对JAVA产生了浓厚的.兴趣。两周的时间说长也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届四川省峨眉山市初三第二次统一检测试题物理试题含解析
- 2025-2026学年贵州省(黔东南黔南黔西南)初三数学试题周末限时训练含解析
- 2026年重庆市西南大附中新中考物理试题一轮复习专题跟踪检测试题含解析
- 2026年大学大一(机械设计制造及其自动化)模具设计基础测试题及答案
- 2025年前台防疫知识考核卷
- 护理伦理与患者安全
- 护理不良事件应急预案
- 护理护理信息技术课件
- 护理护士自我管理与压力应对
- 浅谈体验教学在小学语文作文教学中的应用
- T-BJXF 009-2023电气防火检测评定规则
- 2025年宪法知识竞赛试题题库及参考答案
- 基于血流动力学的冠状动脉搭桥手术精准规划研究
- 建筑施工现场消防培训
- 消防工程竣工验收流程及注意事项
- 广西事业单位e类考试真题及答案
- 2025及未来5年中国葛根提取物市场分析及竞争策略研究报告
- 2025山西晋城高平市选聘司法协理员12人笔试考试备考试题及答案解析
- project2024项目管理教程入门篇
- 2025年北京诚通证券股份有限公司社会招聘70人笔试题库历年考点版附带答案详解
- 绝缘电阻测量方法
评论
0/150
提交评论