




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 JDK开发工具一、实验目的1熟悉JDK开发环境。2熟悉Jcreator和Eclipse编辑器的使用。3掌握Java Application的程序结构和开发过程。4了解Java Applet的功能与程序结构。二、实验内容1 JDK开发环境和熟悉Jcreator的使用2掌握Java Application程序开发过程(1)编辑源程序,如下程序:import java.io.*;public class HelloWorld1public static void main(String arg)System.out.println(Hello World!); (2)保存文件,(注意大小写)。可将文件保存在“D:Java”目录中,注意文件名为HelloWorld1.java。(3)进入命令行(MS-DOS)方式,设定当前目录为“D:Java”,运行Java编译器:D:Javajavac HelloWorld1.java(4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。(5)利用Java解释器运行这个Java Application程序,并查看运行结果。D:Javajava HelloWorld13了解下面的Java Applet的程序结构和开发过程。import java.awt.Graphics;import java.applet.Applet;public class HelloWorld2 extends Appletpublic void paint(Graphics g) g.drawString(Hello World!,25,25);2 JDK开发环境和熟悉Jcreator和Eclipse的使用3 用Jcreator和Eclipse分别编写一个Application输出5个”HelloWorld”程序4 用Jcreator和Eclipse分别编写一个Applet程序输出“我喜欢学习Java!”注意:区别两种程序格式的区别及其运行方式的不同注意:区别两种程序格式的区别及其运行方式的不同三、试验总结报告实验二 程序流程控制一、实验目的1掌握Java的三种基本程序流程2熟练使用开发工具二、实验内容1、编写程序求+3+7+(220-1)的值2.已知s=-/2+/3-/4+/(n-)-/n3.编写程序输出如下图形: * * * * * * * * * * * * *三、试验总结报告实验三 数组一、实验目的1掌握Java数组的两种形式2熟练使用开发工具二、实验内容1、编写程序:打印输出有10个元素的浮点数组a1中的最大值和最小值。2.将已存入数组中的值45、89、7、6、0按0、6、7、89、45的次序打印出来。3.编程求一个44矩阵的对角线元素之和。三、试验总结报告实验四 类和对象一、实验目的1掌握类的声明。2掌握对象的创建。3掌握方法的定义和调用。4掌握构造函数的使用。二、实验内容1编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,再定义一个方法setDemo对这三个变量进行初始化,然后定义一个方法求立方体的体积。创建一个对象,求给定尺寸的立方体的体积。2将上题的方法setDemo改用构造函数实现初始化。3、编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量,Employee类中有4个构造方法,分别对三个属性进行初始化,有一个setAge方法设置age属性值,getAge方法返回age值。编写主类创建该类的三个对象,并把它们的属性输出。三、思考题1一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用?2为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?3编程创建一个Point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。并创建一个对象验证。四、试验总结报告实验五 继承与多态实验学时:2 实验类型:验证性一、实验目的1掌握类的继承方法。2掌握变量的继承和覆盖。3掌握方法的继承、重载和覆盖。4了解接口的实现方法。二、实验内容1运行下面的程序,理解成员变量的继承与隐藏。import java.io.*;class sum_3 int sum,num1,num2; static int num3; /定义构造函数初始化对象 sum_3() num1=0; num2=0; num3=0; sum=0; class sub_sum3 extends sum_3 int sum,num1,num2; /隐藏父类sum_3中的实例变量 static int num3; /隐藏父类sum_3中的类变量 void sum(int i,int j,int k) num1=i; num2=j; num3=k; sum=num1+num2+num3; public class computing public static void main (String arg) sub_sum3 m1=new sub_sum3(); m1.sum(100,200,300); System.out.println(sum=+m1.num1+m1.num2+m1.num3+=+m1.sum); 2运行下面的程序,理解方法的继承。class Sort3 double max1,max2,max3; Sort3() max1=-1; max2=-1; max3=-1; void sort() double s; if (max1max2)s=max1;max1=max2;max2=s; if (max1max3)s=max1;max1=max3;max3=s; if (max2max3)s=max2;max2=max3;max3=s; class sub_Sort3 extends Sort3 void subsort(double i,double j,double k) max1=i; max2=j; max3=k; sort(); /调用父类中的方法sort() public class Class1 public static void main (String args) sub_Sort3 m1 = new sub_Sort3(); m1.subsort(100,200,300); System.out.println(三个数从大到小为:+m1.max1+,+m1.max2+,+m1.max3); 3运行下面的程序,理解方法的重载。class Sort2or3 double max1,max2,max3; Sort2or3() max1=-1; max2=-1; max3=-1; void sort(double i,double j) double s; max1=i; max2=j; if(max1max2)s=max1;max1=max2;max2=s; void sort(double i,double j,double k) double s; max1=i; max2=j; max3=k; if (max1max2)s=max1;max1=max2;max2=s; if (max1max3)s=max1;max1=max3;max3=s; if (max2max3)s=max2;max2=max3;max3=s; public class Class1 public static void main (String args) Sort2or3 m1 = new Sort2or3(); m1.sort(100,200); System.out.println(两个数从大到小为:+m1.max1+,+m1.max2); m1.sort(50,150,100); System.out.println(三个数从大到小为:+m1.max1+,+m1.max2+,+m1.max3); 4运行下面的程序,理解方法的覆盖。class sort_Demo int i,j,k,swap; sort_Demo() i=j=k=swap=0; void sort(int t1,int t2) /父类中的方法用来实现升序 /用选择法按升序排列 for(i=0;it1-1;i+) k=i; for(j=i+1;jt1;j+) if(t2jt2k) k=j; if (k!=i) swap=t2i; t2i=t2k; t2k=swap; class sub_sort_Demo extends sort_Demo void sort(int t1,int t2) /子类中的方法实现降序 /用选择法实现降序排列 for(i=0;it1-1;i+) k=i; for(j=i+1;jt2k) k=j; if (k!=i) swap=t2i; t2i=t2k; t2k=swap; public class Class1 public static void main (String args) int a=34,12,8,67,88,23,98,101,119,56; sort_Demo m1=new sort_Demo(); sub_sort_Demo m2=new sub_sort_Demo(); System.out.println(排序前的数据为:); for (int i=0;i10;i+) System.out.print( +ai); /调用父类中的sotr()方法 m1.sort(a.length ,a); System.out.println(n按升序排列的数据为:); for (int i=0;i10;i+) System.out.print( +ai); /调用子类中的sort()方法,该方法实现了对父类中方法的覆盖 m2.sort(a.length ,a); System.out.println(n按降序排列的数据为:); for (int i=0;i10;i+) System.out.print( +ai); 5、StudentClass,java文件中已有学生类Student包含属性有姓名name和年龄age,由学生类派生出本科生类比Undergraduate和研究生类 Graduate。本科生包含的属性有专业specialty,研究生包含的属性有研究方向studydirection 每个类都有相关数据的输出方法,运行效果如下: 姓名:王军 姓名:刘君 年龄:23 年龄:27 学位:本科 学位:硕士 专业:自动化 研究方向:网络安全技术6、定义两个接口,其方法协议分别完成两个数的加法和减法操作,然后创建一个类实现这两个接口的方法。三、思考题1子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?2同名的不同方法共存的情况称为什么?如何区分这些同名方法?3创建一个类,声明一个无参数的构造函数,打印类已创建的信息;再重载一个具有String参数的构造函数,打印参数信息;并创建主类验证之。试验六 抽象类、包、接口一、实验目的 了解 Java 中包(package)、接口(interface)的作用,掌握包、接口的使用方法。 二、实验要求 1 了解 Java 系统包的结构。 2 掌握创建自定义包的方法。 3 掌握使用系统接口的技术和创建自定义接口的方法。(一)了解并使用 Java 的系统包 包是类和接口的集合。利用包可以把常用的类或功能相似的类放在一个包中。Java 语言提供系统 包,其中包含了大量的类,可以在编写 Java 程序时直接引用它们。为便于管理和使用它们,将这些类 分为了不同的包。包又称类库或 API 包,所谓 API(Application Program Interface)即应用程序接口。API 包方面提供丰富的类与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统 软硬件打交道,圆满实现用户程序的功能。所有 Java API 包都以“java.”开头,以区别用户创建的包。 接口解决了 Java 不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。 处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才 能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。 (二)创建并使用自定义包 1自定义包的声明方式 声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。 2创建自定义包 Mypackage 在存放源程序的文件夹中建立一个子文件夹 Mypackage。例如,在“C:MyJavaPrograms”文件夹之中创建一个与包同名的子文件夹 Mypackage(C:MyJavaProgramsMypackage),并将编译过的 class 文件放入该文件夹中。注意:包名与文件夹名大小写要一致。再添加环境变量 classpath 的路径,例如: C:Javajdk1.6.0_16lib; C:MyJavaPrograms 3在包中创建类 YMD.java 程序功能:在源程序中,首先声明使用的包名 Mypackage,然后创建 YMD 类,该类 具有计算今年的年份,可以输出一个带有年月日的字符串的功能。 编写 YMD.java 文件,源代码如下。 package Mypackage; /声明存放类的包 import java.util.*; /引用 java.util 包 public class KY4_1_YMD private int year,month,day; public static void main(String arg3) public KY4_1_YMD(int y,int m,int d) year = y; month = (m=1) & (m=1) & (d=31) ? d : 1); public KY4_1_YMD() this(0,0,0); public static int thisyear() return Calendar.getInstance().get(Calendar.YEAR);/返回当年的年份 public int year() return year;/返回年份 public String toString() return year+-+month+-+day;/返回转化为字符串的年-月-日 编译 KY4_1_YMD.java 文件,然后将 KY4_1_YMD.class 文件存放到 Mypackage 文件夹中。 3编写使用包 Mypackage 中 KY4_1_YMD 类的程序 KY4_2.java 程序功能:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了 KY4_1_YMD 的方法来计算年龄。 编写 KY4_2.java 程序文件,源代码如下。 import Mypackage.KY4_1_YMD; /引用 Mypackage 包中的 KY4_1_YMD 类 public class KY4_2 private String name; private KY4_1_YMD birth; public static void main(String args) KY4_2 a = new KY4_2(张驰,1990,1,11); a.output(); public KY4_2(String n1,KY4_1_YMD d1) name = n1; birth = d1; public KY4_2(String n1,int y,int m,int d) this(n1,new KY4_1_YMD(y,m,d);/初始化变量与对象 public int age() /计算年龄 return KY4_1_YMD.thisyear() - birth.year(); /返回当前年与出生年的差即年龄 public void output() System.out.println(姓名 : +name); System.out.println(出生日期: +birth.toString(); System.out.println(今年年龄 : +age(); 编译并运行程序,结果如图 4.3 所示。1、 定义两个接口,其方法协议分别完成两个数的加法和减法操作,然后创建一个类实现这两个接口的方法。2、定义图形类、圆类、三角形类和长方形和正方形类,注意通过抽象类来组织五个类之间的关系,定义其属性和求图形面积和周长的方法,并创建实例验证之。3、 通过接口实现上题。实验七 字符串处理及基础类库和异常处理一、实验目的1、 理解并掌握String类、StringBuffer类; 2、 理解并掌握StringTokenizer类3、 掌握字符串与其他数据类型的转换4、 掌握Math类的使用。5、 了解和掌握集合框架类。6、 掌握Java Application命令行参数的使用 二、实验内容与要求(1)用下面的关键代码编写一个完整的程序,理解Math类的使用。System.out.println (Math.abs (-5.8); /5.8System.out.println (Math.ceil (3.2); /4System.out.println (Math.floor (3.8) /3System.out.println (Math.round (3.8); /4System.out.println (Math.round (3.2); /3System.out.println (Math.min (3,2); /2System.out.println (Math.max (Math.PI,4); /4System.out.println (Math.log (7.0); /1.94591System.out.println (Math.pow (7,2); /72 - 49System.out.println (Math.exp (0.4); /1.49183System.out.println (Math.IEEEremainder(10.0,3.0); /返回1angle = 0.785398; /以弧度为单位的角,/4System.out.println (Math.tan (angle); /返回该角的正切System.out.println (Math.asin(0.707107); /返回反余弦System.out.println (e is:+ Math.e); / e is:2.71828System.out.println (is:+Math.PI); /is:3.14159System.out.println(Math.random(); /产生0和1(不含1)之间的伪随机数编写程序计算下列数学表达式的值(1) sin(30)(2) ln(3) 253+|-23|(2 )利用下面的关键代码编写一个完整的程序,理解String类的使用。String s=new String(This is an demo of the String method.);/String s=This is an demo of the String method.;System.out.println(Length: +s.length();System.out.println(SubString: +s.substring(11,15); 3利用下面的关键代码编写一个完整的程序,理解StringBuffer类的使用。StringBuffer sb=new StringBuffer(Hello World!);sb.append( Hello Java!);sb.insert(12, And);System.out.println(sb);System.out.println(sb.charAt(0);sb.setCharAt(0,h);System.out.println(sb.charAt(0);System.out.println(sb);4、 字符串类String和StringBuffer目的:了解两种字符串类的构造方法和常用方法。程序3:熟悉String类的各种方法。public class C1public static void main(String args) /创建String类对象b并赋值为“abcdef”b=b.concat(123456); /通过append()方法添加“123456” /将b的长度赋给iSystem.out.println(i); /将b中的字符转换为数组afor(int j=0;ji;j+) /输出数组的每个元素(5、)完成程序,并运行。a) 向量类引入向量类目的:解决了数组长度不可变的问题。注意带命令行参数的运行方法import java.util.*;public class T4public static void main(String args)Vector v=new Vector(1,1);v.addElement(args0);v.addElement(args1);v.insertElementAt(abcdef,1);int i=v.size(),j=v.capacity();System.out.print(v的元素:);for(int n=0;ni;n+)System.out.print( +v.elementAt(n);System.out.println(); System.out.println(v的元素个数+i+ 向量长度+j);v.removeAllElements();System.out.println(v的元素个数+v.size()+ 向量长度+v.capacity();6使用Java Aplication的命令行参数读入两个数据,计算它们的和,然后将和输出。如果参数的数目不足,显示相应提示信息并退出程序的执行。7.在独立运行的应用程序中使用日期函数。 程序功能:补充说明3 个日期类Date、Calendar 和DateFormat 的使用方式及显示的样式。 编写KY5_10.java 程序文件,源代码如下。import java.util.*;import java.text.*;public class KY5_10public static void main (String args)Date today = new Date(); /当前日期和时间SimpleDateFormat sdf;sdf= new SimpleDateFormat(yyyy 年MM 月dd 日hh 时mm 分ss 秒 a EEEEE);System.out.println(当前日期和时间: +sdf.format(today);long hms=System.currentTimeMillis(); /当前时间的毫秒数System.out.println(当前时间的毫秒数=+hms);Date tomorrow = new Date(hms+24*60*60*1000);System.out.println(明天是+sdf.format(tomorrow);Calendar now = Calendar.getInstance();int year =now.get(Calendar.YEAR); /年份int month=now.get(Calendar.MONTH)+1; /月份int day = now.get(Calendar.DATE); /日期System.out.print(今天是+year+年+month+月+day+日);int week = now.get(Calendar.DAY_OF_WEEK); /星期switch (week)case 1: System.out.println( 星期日);break;case 2: System.out.println( 星期一);break;case 3: System.out.println( 星期二);break;case 4: System.out.println( 星期三);break;case 5: System.out.println( 星期四);break;case 6: System.out.println( 星期五);break;case 7: System.out.println( 星期六);break; 编译并运行程序8Java的异常处理。源文件是Ex4_1.java。要捕捉的异常是除数为零和数组下标越界。通过修改a和c下标值体验程序。public class Ex4_1 public static void main (String args) int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供热生产调度培训课件
- 供热小知识掌上培训课件
- 2025年智能压力发生器合作协议书
- 2025年心源性猝死病历讨论记录范文
- 2026届湖南省怀化市化学高二上期末质量检测模拟试题含答案
- 2025年安徽省医疗机构从业人员医德医风行为规范细则
- 供应链管理师培训课件
- 2025年电阻测量仪表项目建议书
- 供应链中的库存控制
- idc行业分析报告2020
- 梅毒患者护理措施
- 数字经济产业组织-洞察及研究
- 2025年中国美甲贴片行业市场全景分析及前景机遇研判报告
- 租赁汽车安全管理制度
- mcn公司管理制度
- 儿童腹痛的课件
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 食品厂留样管理制度
- 2025年上海市中考语文真题试卷含答案(回忆版)
- T/ZJP 1-2024产业组织专利池建设和管理指引
- T/CUPTA 006-2020低地板有轨电车车辆验收规范
评论
0/150
提交评论