实验四 Java知识

合集下载

java实验报告总结_java总结范文

java实验报告总结_java总结范文

java实验报告总结_java总结范文Java是一种功能强大的编程语言,近年来随着互联网的迅速发展,Java已经成为软件行业的主流开发语言。

本次实验旨在帮助学生熟悉Java的基本语法和算法,加强学生对Java的理解和应用能力。

实验工具本次实验使用的开发环境是Eclipse + JDK1.8,Eclipse是开源的Java集成开发环境,JDK1.8是Java Development Kit(Java开发工具包)的一个版本。

实验步骤1.实验一-Hello World!本实验是简单的Java编程,编写程序输出“Hello World!”。

这个例子非常简单,但是对于初学者来说,它是一个优秀的起点。

2. 实验二-数组本实验是关于Java中数组的基本操作,包括数组的定义、初始化、访问和遍历等基本操作。

本实验对变量和循环结构有更深入的理解和比较好的编程能力。

3. 实验三-递归本实验主要介绍递归的概念和应用。

递归是一种非常重要的编程技术,它的应用在算法设计中具有广泛的应用。

4. 实验四-线程本实验介绍了Java中线程的相关知识,包括线程的概念、创建线程和线程同步等。

由于Java是一种多线程语言,线程技术是Java编程中重要的一个部分。

实验结果通过这些实验,我对Java语法有了更深入的理解,包括如何定义、使用变量、循环结构和递归等等。

我还学习了Java中线程的相关知识,如何创建线程、线程同步和线程的多态性等等。

通过这些实验,我深入了解了Java语言和算法设计的基本概念。

我已经掌握了Java的基本语法和算法,并在实现算法时编写了一些有效的代码。

我相信这些经验和技能将对我未来的学习和职业发展有所裨益。

总结本次实验是一个非常好的实践机会,让我在实践学习的过程中更好地理解Java编程的基本知识和技能,并用所学的知识解决了很多实际问题。

它加强了我的Java基础,提高了我的编程能力,为我今后的个人发展和职业发展打下了坚实的基础。

java基础实验报告

java基础实验报告

java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。

本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。

实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。

Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。

安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。

实验二:Java语言基础Java语言基础是进行Java编程的基石。

在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。

通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。

实验三:面向对象编程面向对象编程是Java的核心特性之一。

在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。

例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。

实验四:异常处理异常处理是Java编程中重要的一部分。

在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。

例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。

实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。

在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。

例如,读取一个文本文件中的内容,并将其写入到另一个文件中。

实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。

在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。

例如,创建多个线程来同时下载多个文件,并实现进度条的显示。

结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。

java编程实验报告

java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。

本篇文章将介绍我在Java编程实验中的实践和收获。

实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。

通过这个实验,我了解了Java的基本语法和程序结构。

在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。

通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。

实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。

通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。

在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。

通过这个实验,我对Java中的变量和运算符有了更深入的理解。

实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。

通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。

同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。

在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。

实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。

通过编写程序,我实现了对数组和字符串的声明、赋值和操作。

在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。

通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。

实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。

通过编写程序,我实现了对类的定义、对象的创建和方法的调用。

java实验报告4

java实验报告4

实验4 Java 语言面向对象基础编程一.实验目的(1)通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想(2)如何创建类和对象二、实验要求1、编写一个体现面向对象思想的程序;2、编写一个创建对象和使用对象的方法的程序;3、编写体现构造方法重载的程序;三.实验内容1、定义类创建类对象设计类来描述真实客观世界中的事物,使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改(1)程序功能:设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

源代码:(自己编写)创建类的对象,使用对象的方法(类的非静态方法)来访问或修改对象的变量(类的非静态变量)(1)创建上面第一步的类的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变量的值。

源代码:2、构造方法重载构造方法的名称和类同名,没有返回类型。

尽管构造方法看起来和一般的成员方法没有差别,但它不是方法,也不是类的成员。

因此,构造方法不能直接调用,只能由new 操作符调用。

构造方法对于类是十分重要的,对象的初始化任务要靠构造方法来完成。

重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。

源代码如下:class RunDemo {private String userName, password;在该处编写不带参数的构造方法在该处编写带一个参数的构造方法在该处编写带两个参数的构造方法}public class EXP2 {public static void main(String[] args) {//使用不同的构造方法进行对象的初始化}}3、调用方法时参数传递的练习在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。

Java实验指导4继承与多态

Java实验指导4继承与多态

《Java程序设计》实验指导实验四继承与多态一、实验目的:1.掌握类的继承方法。

2.掌握变量的继承和覆盖。

3.掌握方法的继承、重载和覆盖。

4.了解接口的实现方法。

二、实验原理新类可从现有的类中产生,并保留现有类的成员变量和方法,并可根据需要对它们加以修改。

新类还可添加新的变量和方法。

这种现象就称为类的继承。

当建立一个新类时,不必写出全部成员变量和成员方法。

只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。

被继承的类称为父类或超类(superclass),这个新类称为子类。

Java 提供了一个庞大的类库让开发人员继承和使用。

设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。

你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。

所以,通常要对子类进行扩展,即添加新的属性和方法。

这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。

继承的意义就在于此。

语法格式:类访问限定符子类名extends 父类名{……}三、实验内容及要求:1. 定义一个接口(ShapeArea),其中包含返回面积的方法(getArea)。

定义一个矩形类(Rectangle),派生出一个正方形类(Square),再定义一个圆类(Circle),三者都要求实现接口ShapeArea,自行扩充成员变量和方法。

在主方法中建一数组,数组中放入一些上述类型的对象,并计算它们的面积之和。

2. 运行下面的程序,理解成员变量的继承与隐藏,方法的覆盖与重载。

class A{int sum,num1,num2;public A(){num1=10;num2=20;sum=0;}void sum1(){sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum2(int n){num1=n;sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}}class B extends A{int num2;public B(){num2=200;}void sum2(){sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum2(int n){num1=n;sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum3(int n){super.sum2(n);System.out.println("sum="+num1+"+"+num2+"="+sum);}}public class test{public static void main (String arg[]){B m=new B();m.sum1();m.sum2();m.sum2(50);m.sum3(50);}}。

java实验报告4

java实验报告4

实验报告_实验4 常用类(学生学号_姓名) 一、实验目的1.掌握String类的基本构造方法和常用方法的使用;2.熟悉StringBuffer类的追加、插入、查找、替换、删除等操作;3.熟悉Math类常量及常用方法的调用;4.熟悉包装类的功能、重要属性、主要构造器和常用方法;5.了解StringTokenizer类的一般使用。

二、实验内容与步骤1、(基础题)运行下列程序,并回答问题:(1) 对于String对象来说,“==”运算符与equals( )方法的功能有什么不同?“==”运算符比较两个字符串引用是否指向同一个对象。

equals( )方法在于比较两个字符串的内容是否完全相同。

(2) s1和s2是否指向同一对象?为什么?是,因为s1和s2是字符串常量,如果用户创建了一个字符串常量,系统首先会在字符串池中查找有无相同内容的字符串存在,若有就把原有取出使用,若无则重新生成,故s1和s2指向同一对象。

(3) s3和s4是否指向同一对象?为什么?不是,用构造器生成的字符串对象,它会在堆中生成一个对象,很明显s3和s4指向了不同的对象。

(4) s1==s3是否成立?为什么?不成立,“==”运算符比较两个字符串引用是否指向同一个对象。

很明显s1和s3指向了不同的对象。

(5) s1、s2、s3、s4的内容是否相同?是(6) compareTo( )方法的功能是什么?当比较结果分别为负数、正数、0 时,代表什么含义?pareTo(Str2);其返回的是一个int类型值。

若Str1等于参数字符串Str2字符串,则返回0;若该Str1按字典顺序小于参数字符串Str2,则返回值小于0;若Str1按字典顺序大于参数字符串Str2,则返回值大于0。

2、(基础题)根据程序注释,将所缺代码补充完整,然后运行程序:程序所缺代码:String str = new String("*****************.cn");System.out.println("字符串的长度: " + str.length()); // 输出字符串的长度System.out.println("字符串的首字符: " + str.charAt(0));// 输出字符串的首字符System.out.println("字符\'@\'的索引号(即下标): " + str.indexOf('@'));System.out.println("该邮箱的顶级域名(即最后一个单词): " + str.substring(stIndexOf('.')+1));System.out.println("字符串全部以大写方式输出为: " + str. toUpperCase());3、(基础题)根据程序注释,将所缺代码补充完整,再运行程序::程序所缺代码StringBuffer sb= new StringBuffer(“里约热内卢奥运会举行时间:”);sb.append(“8月8日晚8点”); // 在sb尾部追加"8月8日晚8点"字符串sb.insert(sb.length()-1,” 8月5日-21日”); //在sb尾部追加"8月5日-21日"字符串sb.replace(n, n+5,"第31届"); // 将字符串中"里约热内卢"替换为"第31届"System.out.println("字符串的长度为: "+ sb.length());// 输出字符串的长度sb.delete(12,25); // 删除字符串中从第12个字符开始到第25个字符为止的内容。

Java实验四

Java实验四

实验四:常用系统类库(2学时)预备知识Java的预定义类Java的API中包含大量预定义类,这些类被组织在不同的包中,编程时常用到的包是Java 语言核心包java.1ang和Java实用工具包java.util。

(1)Java语言核心包java.1ang提供了Java语言进行编程的许多基础类如Math类、基本类型的包装器类、处理日期和时间的Date类和Calendar类。

·Math类。

Math类是Java.1ang包中提供的一个执行常用数学计算的类,该类中包含着许多常用的数学计算方法如求绝对值、三角函数等。

Math类中所提供的都是静态方法,因此可以直接通过类名来使用。

·基本类型的包装器类。

Java能将基本数据类型封装起来形成对象,从而产生出一组基本类型的包装器类。

它们分别是Character、Byte、Short、Integer、Long、Float、Double和Boolean类。

所有数值类型包装类都继承自java.1ang包中的另一个类Number,它是数值类的超类。

(2)Java.util包是Java的实用工具类库,在这个包中有许多实用的工具类和数据结构类,为编程提供了很大的方便,如日历类Calendar、数组类Vector。

·日历类Calendar。

Calendar类是用来处理日期和时间的,可以用Calendar类来获取和设置当前的日期和时间。

Calendar类中提供许多常量字段,如星期、月份、年份、小时、分、秒等。

通过Calendar 类的众多方法就可以对这些数据字段进行计算和操控。

·向量类Vector。

Vector类是java.util包中的一个常用的数据结构类,它代表着一个动态对象数组,该数组的大小是可变的,可根据需要增加或减少容量,其次,该数组可以用来存放任何对象。

可以让Vector数组中存放Object类的引用变量以使它可以指向任何对象。

实验报告 Java输入、输出和异常处理

实验报告 Java输入、输出和异常处理

实验四Java输入、输出和异常处理一、实验目的1.了解I/O流的使用;2.掌握常见的输入/输出流类及其主要方法。

3.熟悉S y s t e m类,掌握标准输入/输出。

4.学会利用Tr y-c a t c h-f i n a l l y语句来捕获和处理异常;5.掌握自定义异常类的方法。

二、实验要求1.使用标准数据流的应用程序。

2.使用文件输入输出流的应用程序。

3.通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容(一)使用标准数据流的应用程序标准数据流指在字符方式下(如D O S提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1.程序功能:将键盘上输入的字符在屏幕上显示出来。

2.编写S Y4_1.j a v a程序文件,源代码如下:c l a s s S Y4_1{p u b l i c s t a t i c v o i d m a i n(S t r i n g[]a rg s)t h r o w s j a v a.i o.I O E x c e p t i o n {b y t e b u ff e r[]=n e w b y t e[10];S y s t e m.o u t.p r i n t l n("从键盘输入不超过10个字符,按回车键结束输入:");i n t c o u n t=S y s t e m.i n.r e a d(b u f f e r);//读取输入的字符并存放在缓冲区b u ff e r中S y s t e m.o u t.p r i n t l n("保存在缓冲区b u ff e r中元素的个数为:"+c o u n t);S y s t e m.o u t.p r i n t l n("b u f f e r中各元素的值为:");f o r(i n t i=0;i<c o u n t;i++){S y s t e m.o u t.p r i n t(""+b u ff e r[i]);//在屏幕上显示b u ff e r 元素的值}S y s t e m.o u t.p r i n t l n();S y s t e m.o u t.p r i n t l n("输出b u ff e r字符元素:");S y s t e m.o u t.w r i t e(b u ff e r,0,b u f f e r.l e n g t h);}}3.编译、运行S Y4_1.j a v a文件。

实验四 Java语言面向对象基础编程

实验四   Java语言面向对象基础编程

实验四 Java语言面向对象基础编程一、实验目的1.理解Java语言是如何体现面向对象编程基本思想,2.了解类的封装方法,以及如何创建类和对象,3.了解成员变量和成员方法的特性。

二、实验内容1.类的定义、封装和对象创建的使用。

编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:(1)Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。

另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。

(2)Lader类具有类型double的上底、下底、高、面积属性,具有求面积的功能。

(3)Circle类具有类型为double的半径、周长和面积属性,具有求周长、面积的功能。

package exercise;class Trangle{double sideA,sideB,sideC,area,length;boolean boo;//带三个参数的构造函数public Trangle(double a,double b,double c) {sideA=a;//参数a,b,c 分别赋值给sideA,sideB,sideCsideB=b;sideC=c;if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA){//a,b,c 构成三角形的条件表达式boo=true;//给boo 赋值。

}else{boo=false;//给boo 赋值。

}}double getLength(){return sideA+sideB+sideC;//方法体,要求计算出length 的值并返回}//计算三角形的面积publicdouble getArea(){if(boo){double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));return area;}else{System.out.println("不是一个三角形,不能计算面积");return 0;}}publicvoid setABC(double a,double b,double c){sideA=a;//参数a,b,c 分别赋值给sideA,sideB,sideCsideB=b;sideC=c;if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA){//a,b ,c 构成三角形的条件表达式boo=true;//给boo 赋值。

java_实验四

java_实验四

武汉工程大学计算机科学与工程学院实验报告[4]一、实验目的1)了解Java.awt包及Swing的新增特性。

2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。

3)了解图形用户界面的事件响应机制。

4)了解图形用户界面各种常用的基本组件的使用方法及其事件响应。

5)掌握Java常用组件的应用6)掌握图形用户界面各种布局策略的设计与使用二、实验要求1)创建一个简单的图形用户界面。

2)使用Java类库中提供的组件,并添加到图形用户界面中。

3)通过Java事件处理机制,实现与用户的交互信息。

4)练习使用布局管理器5)使用Java类库中提供的组件,并添加到图形用户界面中6)通过Java事件处理机制,实现与用户的交互信息三、实验内容对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。

因为只有通过图形界面,用户才能够与程序友好的交互。

缺少良好的图形用户界面,将会给用户理解和应用程序带来很多不便。

创建一个完整的图形用户界面的应用程序大致流程如下:1)引用需要的包和类。

2)设置一个顶层的容器。

3)根据需要为容器设置布局管理器或使用默认布局管理器。

4)将组件添加到容器内,位置自行设计。

5)为响应事件的组件编写事件处理代码。

下面我们先建立一个简单的图形用户界面,然后通过合适的布局管理器,将各种常用组件添加到图形用户界面中,实现与用户的交互信息。

1. 创建简单的图形用户界面(1)创建简单的 Frame 框架在 AWT 库中,对应于框架的类是 Frame,在 Swing 库中,相应的类是 JFrame。

JFrame 类扩展了 Frame 类。

大部分 ATWT 组件在 Swing 中都有等价的组件,它们在表示形式上差一个“J”。

框架是一个容器,可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。

下面的例子是建立一个 Frame 框架,通过这个例子学习如何创建一个简单的图形用户界面。

Java实验四报告

Java实验四报告

一、实验目的1.掌握Java语言中继承和多态的相关概念2.掌握Java程序设计中继承和多态机制的使用3.掌握Java语言中接口和包的概念及使用。

二、实验内容1.题目:1.继承多态综合练习1(1)建立一个Java抽象类Drink,应当:①声明一个抽象方法taste(),该方法负责输出饮料的味道;②声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:③声明静态方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。

(2)建立Drink的子类:①分别建立Drink的子类:Coffee(咖啡类),Beer(啤酒类),Milk(牛奶类);②实现taste()方法,要求在控制台打印各自的味道特征。

(3)建立Test测试类,测试以上内容的正确性①编写main方法,输入要新建的饮料类型。

②调用Drink类的getDrink方法,获得相应的饮料对象。

然后调用该饮料对象的taste()方法,输出该饮料的味道。

②编译程序,并运行。

要求:测试类放在包名为com.sy4.exe02.test包中,其它类放在com.sy4.exa02包中。

(知识点:类的定义,抽象类,继承,多态)2.继承多态综合应用练习2(1)定义一个抽象的People类,有姓名(name),年龄(age),性别(sex)等成员变量,要求成员变量的访问修饰符为private,通过getXxx()和setXxx()方法对各变量进行读写。

声明具有一个抽象的role()方法,该方法不返回任何值,用于输出人的身份类型,同时至少定义两个构造方法。

(2)定义一个抽象类Employee类,该类继承People类,该类具有People类的所有成员,并新增雇员底薪薪水(salary)和职工编号(empid)成员变量。

同样要有至少两个构造方法,要体现出this和super的几种用法。

声明具有一个抽象的getSalary()方法,该方法返回float 值,用于返回员工薪水。

JAVA实验四1

JAVA实验四1
4.2.1 继承的概念
通过类的继承, 祖先类的所有成员均将成为子类拥有的“财富”。 但是能否通过子类对 象直接访问这些成员则取决于访问权限设置。Object 类是所有类的祖先。
4.2.2 构造方法与继承关系
构造方法不存在继承关系,子类中是如何给父类继承的属性赋初值呢? 子类通过调用父类的构造方法给父类的属性赋值, 在子类的构造方法的第 1 行可以通过 super 去调用父类的构造方法,如果没有 super 调用,则默认调用父类的无参构造方法。所 以,在父类中编写构造方法通常均要提供无参构造方法。
实验 4 继承与多态 4.1 实验目的
(1) 理解类的继承,掌握变量隐藏、方法覆盖的概念。 (2)理解引用类型的变量的赋值转换原则。 (3)理解多态概念,掌握方法的匹配调用原则; (4)理解抽象类与接口的使用; (5)理解 this 和 super 的含义及使用。 (6)理解访问控制符的使用
4.2 知识要点
提高题
a=new
methodMatch ();
1) 分别下面程序中 x 的访问权限进行修改,测试访问许可。修改包括:private, protected,public 以及无访问控制符 4 种情形。 程序1:同一类情形(文件accessTest.java) package test class accessTest{
4.2.6 抽象类
定义形式: abstract class 类名称 { 成员变量; 方法(){……} //定义一般方法
abstract 方法();//定义抽象方法 } 在抽象类中可以包含一般方法和抽象方法。 抽象类表示的是一个抽象概念,不能被实例化为对象。 继承抽象类的具体类必须将抽象类中抽象方法覆盖实现。
(2) 使用抽象类的引用变量可引用子类的对象; (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可 将所有对象存入到父类定义的数组中。 样例2:定义接口 Shape, 其中包括一个方法 size () ,设计“直线”、 “圆”、 “会议”、 “圆柱体”等类实现 Shape 接口。分别创建一个“直线”、“圆”、“会议”、“圆柱体” 存入一个数组中,将数组中各类图形的大小输出。 注:圆柱体可考虑由底边圆和高度两个部分组成。 【参考程序】 interface Shape { double size(); } class Line implements Shape { private double x1,y1,x2,y2; public Line(double x1, double y1, double x2, double y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; } public double size() {

java实验四

java实验四

实验四字符串操作一实验目的1.掌握字符串的处理方法。

2.掌握String和StringBuffer的区别。

3. 熟悉文件处理及输入输出流的相关方法。

二知识要点1.String类(1)创建String类对象的两种方式。

(2)String类创建的字符串对象的内容不能改变。

(3)String类的常见方法,见表4-1。

方法功能boolean equals(Object obj) 当前串与参数串的内容进行比较boolean equalsIgnoreCase(String s2)忽略字母的大小写,比较当前串和参数串的内容int length()返回字符串长度String trim()返回去除前导空格和尾部空格的字符串int indexOf(int ch, int fromIndex))从formIndex位置开始往后查找字符串中的字符ch的首次出现位置。

int indexOf(String s, int fromIndex))从formIndex位置开始往后查找字符串中的子串s的首次出现位置。

char charAt(int index) 从串中获取指定位置的字符String substring(int begin, int end)根据始末位置从串中获取子串String[] split(String regex) 按照分隔符将串分成若干子串String replace(char ch1,char ch2) 将字符串中所有ch1字符换为ch2 String toLowerCase() 将字符串中的所有大写字母改成小写字母String toUpperCase() 将字符串中的所有小写字母改成大写字母表4-1 String类的常见方法2. StringBuffer类(1)使用构造函数创建StringBuffer对象(2)StringBuffer类创建的字符串可以被修改,可以对串的内容进行增、删、改操作。

(3)StringBuffer的常用方法,见表4-2。

实验四,Java,实验报告

实验四,Java,实验报告

实验四类和对象实验目的(1)掌握类的定义和方法调用。

(2)理解静态和非静态成员变量的区别。

(3)掌握创建类实例的方法。

(4)掌握类的继承机制。

(5)熟悉类中成员变量和方法的访问控制。

(6)熟悉方法的多态性。

实验内容(1)设计一个Dog类,有名字、颜色和年龄属性,定义够着方法初始化这些属性,定义输出方法show()显示信息。

编写应用程序使用Dog类。

(2)编写一个学校类,其中包含成员变量line(录取分数线)和对该变量进行设置和获取的方法。

编写一个学生类,它的成员变量有考生的name(姓名)、id(考号)、total(综合成绩)、sports(体育成绩)。

它还有获取学生的综合成绩和体育成绩的方法。

编写一个录取类,它的一个方法用于判断学生是否符合录取条件。

其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96以上并且综合成绩大与300。

在该类的main()方法中,建立若干个学生对象,对符合录取条件的学生,输出器信息及“被录取”。

(3)设计一个表示二维平面上点的类Point,包括表示位置的protected类型的成员变量x 和y,获取和设置x和y值得public方法。

实际一个表示二维平面上的类Circle,它继承自类Point,还包括表示半径的protected类型的成员变量r、获取和设置r值得public方法、计算圆面积的public 方法。

(4)设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包括表示圆柱体高的protected 类型的成员变量h、获取和设置h值得public 方法、计算圆柱体体积的public 方法。

(5)建立若干个Cylinder对象,输出其轴心位置坐标、半径和高及其体积的值。

实验要求(1)Dog类的构造方法带有3个参数,分别用于接收名字、颜色和年龄。

(2)学生类的构造方法带有4个参数,分别用于接收学生的姓名、考号、综合成绩和体育成绩。

学校类仅包含静态成员变量和方法。

Java语言实验4 子类与继承

Java语言实验4   子类与继承
System.out.println("a of son is :" +son.a);
System.out.println("a of son's super is :" +son.getA());
son.miner();
System.out.println("a of son is :"+son.a);
System.out.println(“加toString()输出:”+d.toString());
}
}
(2)编译运行程序,观察结果。
(3)实验报告
运行结果:
思考:为什么两次输出都是同样结果。
Demo有父类吗?
答:因为没有指定父类,就默认继承Object类,即默认调用对象的toString()方法。所以两次输出同样的结果。
B(int a,int b)
{
i=a;
k=b;
}
int multiply()/**重写了父类的multiply()方法*/
{
return i*j*k;
}
}
步骤三:创建并运行应用程序。
public class LX
{
public static void main(SFra bibliotekring a[])
{
B subO=new B(6,9);
System.out.println(“姓名:”+stu.getName()+”,年龄:”+stu.getAge()
+”,学校:”+stu.getSchool());
}
}
(2)实验报告
运行结果:

java编程基础实验报告

java编程基础实验报告

java编程基础实验报告Java编程基础实验报告一、引言Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台的特性,因此备受开发者的青睐。

本篇实验报告将介绍我在学习Java编程基础过程中所进行的实验,并总结实验结果和心得体会。

二、实验目的本次实验的主要目的是通过编写Java程序,加深对Java编程语言的理解和掌握,提高编程能力和解决问题的能力。

三、实验内容1. 实验环境搭建在开始实验之前,我首先搭建了Java编程环境。

我选择了使用Eclipse作为集成开发环境(IDE),并安装了Java开发工具包(JDK)。

2. 实验一:Hello World程序在第一个实验中,我编写了一个简单的Hello World程序。

该程序的功能是在控制台输出"Hello, World!"。

通过这个实验,我熟悉了Java程序的基本结构和语法规则。

3. 实验二:变量和数据类型在第二个实验中,我学习了Java中的变量和数据类型。

我编写了一个程序,实现了两个整数相加并输出结果的功能。

通过这个实验,我掌握了Java中的基本数据类型和变量的声明和使用方法。

4. 实验三:条件语句和循环语句在第三个实验中,我学习了Java中的条件语句和循环语句。

我编写了一个程序,实现了判断一个数是否为偶数并输出结果的功能。

通过这个实验,我掌握了Java中的if语句和for循环语句的使用方法。

5. 实验四:数组和字符串在第四个实验中,我学习了Java中的数组和字符串。

我编写了一个程序,实现了对一个整型数组进行排序并输出结果的功能。

通过这个实验,我掌握了Java中数组的声明和使用方法,以及字符串的操作方法。

6. 实验五:面向对象编程在第五个实验中,我学习了Java中的面向对象编程。

我编写了一个程序,实现了一个简单的学生信息管理系统。

通过这个实验,我掌握了Java中类的定义和对象的创建与使用方法。

四、实验结果通过以上实验,我成功编写了各种Java程序,并在控制台输出了预期的结果。

java实验四实验报告

java实验四实验报告
}
}
编译:javac TwoThread.java
解释执行:java TwoThread
运行后结果:
1、用创建Thread类的子类的方法实现多线程:
源程序:
class FruitThread extends Thread
{
public FruitThread (String str)
{
super(str);
}
public void run()
{
for(int i=0;i<5;i++)
{
System.out.println(i+""+getName());
T2.start();
}
}
编译:javac C.java
解释执行:java RunThread
运行后结果:
c源程序:
class run1Thread implements Runnable
{
public void run()
{
System.out.println("This is Runnable");
outputClass(String s){
name=s;
}
public void run(){
for(int i=0;i<3;i++){
System.out.println(name);
Thread.yield();
}
}
}
class runThreads{
public static void main(String args[]){
try
{
sleep((int)(Math.random()*1000));

武汉科技大学 Java实验报告 实验四

武汉科技大学 Java实验报告  实验四
一个赋值数组组件的引用类型抛出一个ArrayStoreException当价值分配是不兼容的组件类型数组。
NoSuchFieldException
Signals that the class doesn't have a field of a specified name.
提示:在类中没有一个方法指定为该名称。
一个非凡的算术条件时抛出发生。例如,一个整数”除以零”抛出一个这个类的实例。
ArrayStoreException
An assignment to an array component of reference type throws an ArrayStoreException when the value to be assigned is not compatible with the component type of the array.
Thrown when a particular method cannot be found.
抛出它,当该方法不能被找到的时候。
Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.
信息科学与工程学院《Java程序设计》上机实验报告
专业班级姓名学号
实验时间指导教师成绩
实验名称
实验四异常类的定义及处理
实验目的
1)了解异常处理方法。
2)熟悉并掌握常见异常的捕获方法。
3)熟悉JDK中已经定义的若干异常类的层次结构。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四java知识
本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。

【课堂练习】一
(1)对数组排序
【实验效果】
根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp
【课堂练习】Java面向对象思想
课堂练习——包创建和引用
案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。

课堂练习——相同包之间的访问
案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。

课堂练习——不同包中类之间的访问
案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。

课堂练习——final变量
案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法
案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。

课堂练习——继承性
案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。

课堂练习——抽象类
案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。

课堂练习——权限访问
案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。

案例:在项目的包aaa中创建类SameExm,也就是和前一个例子中创建的Exm类都放在同一个包aaa中,然后在SameExm类的主方法中创建类Exm的实例,并分别输出类Exm中4个成员变量的值,测试上述4种权限修饰符的成员变量在相同包的其他类中的可见性。

案例:在项目的包aaa中创建类ExtExm,该类继承前例Exm类,然后在ExtExm类的主方法中创建类ExtExm的实例,并分别输出Exm类中4个成员变量的值。

并测试上述4种权限修饰符的成员变量在相同包的字类中的可见性。

案例:在项目中创建包bbb,并在该包中创建DisExm类,也就是该类与Exm类不在同一个包中,然后在DisExm类的主方法中创建Exm类的实例,并分别输出Exm类中4个成员变量的值。

并测试上述4种权限修饰符的成员变量在不同包的其他类中的可见性。

案例:在项目中创建包bbb,并在该包中创建DisExtExm类,该类继承Exm类,然后在DisExtExm类的主方法中创建DisExtExm类的实例,并分别输出Exm类中4个成员变量的值。

并测试上述4种权限修饰符的成员变量在不同包的字类中的可见性。

相关文档
最新文档