Java编程基础实验报告.docx
《Java编程基础实验报告.docx》由会员分享,可在线阅读,更多相关《Java编程基础实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
Java编程基础实验报告
2016至2017学年第一学期
计算机科学学院
编制教师唐春兰审定代伟
专业:
物联网工程
班级:
2015级4班
学号:
20151044018___
姓名:
刘星__
(适用于计算机科学学院专业学生)
实验名称:
Java语言基础指导教师:
唐春兰
实验仪器:
计算机
实验日期:
2016年12月2日实验地点:
第三实验楼209
实验目的:
1、了解Java的数据类型;
2、掌握各种变量的声明方式;
3、理解运算符的优先级;
4、掌握Java基本数据类型、运算符与表达式、数组的使用方法;
5、理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;
6、通过以上内容,掌握Java语言的编程规则。
实验内容及基本要求:
1、读下列程序,理解不同数据类型变量的声明,写出其输出结果并上机运行验证。
public class SHIYAN2_1 {
public static void main(String[] args) {
byte b=0x55;
short s=0x55ff;
int i=1000000;
long l=0xffffL;
char c='a';
float f=0.23F;
double d=0.7E-3;
boolean B=true;
String S="这是字符串类数据类型";
System.out.println("字节型变量 b = "+b);
System.out.println("短整型变量 s = "+s);
System.out.println(" 整型变量 i = "+i);
System.out.println("长整型变量 l = "+l);
System.out.println("字符型变量 c = "+c);
System.out.println("浮点型变量 f = "+f);
System.out.println("双精度变量 d = "+d);
System.out.println("布尔型变量 B = "+B);
System.out.println("字符串类对象 S = "+S);
}
}
2、分析下列程序,了解变量的使用范围,修改程序使之能成功运行。
public class SHIYAN2_2 {
int i=10;
public static void main(String[] args)
{
{
int k=10;
System.out.println("i="+i);
System.out.println("k="+k);
}
System.out.println("i="+i);
System.out.println("k="+k);
}
}
3、分析下列程序,并输出结果。
class SHIYAN2_3 {
public static void main(String[] args) {
int a=25, b=20, e=3, f=0;
boolean d=a
System.out.println("a=25,b=20,e=3,f=0");
System.out.println("因为关系表达式 a
"+d);
if (e!
=0 && a/e>5)
System.out.println("因为e 非0 且a/e 为8 大于5,所以输出 a/e= "+a/e);
if (f!
=0 && a/f>5)
System.out.println("a/f = "+a/f); else
System.out.println("因为f 值为0,所以输出 f = "+f); } }
4、使用循环设计程序,功能:
输出九九乘法表。
实验过程及结果:
实验工具:
eclipse
1、将代码输入到eclipse软件中,验证后输出结果为:
字节型变量 b = 85
短整型变量 s = 22015
整型变量 i = 1000000
长整型变量 l = 65535
字符型变量 c = a
浮点型变量 f = 0.23
双精度变量 d = 7.0E-4
布尔型变量 B = true
字符串类对象 S = 这是字符串类数据类型
2、要使程序能够运行,修改后代码为:
publicclassSHIYAN2_2{
publicstaticvoidmain(String[]args){
inti=10;
intk=10;
System.out.println("i="+i);
System.out.println("k="+k);
System.out.println("i="+i);
System.out.println("k="+k);
}
}
3、分析程序后,输出结果为:
a=25,b=20,e=3,f=0
因为关系表达式 a
false
因为e 非0 且a/e 为8 大于5,所以输出 a/e= 8
因为f 值为0,所以输出 f = 0
4、九九乘法表程序代码:
publicclassSHIYAN2_4{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
inti;
intj;
intcj=1;
for(i=1;i<10;i++){
for(j=1;j<10;j++){
if(j<=i){
cj=j*i;
System.out.print(j+"*"+i+"="+cj+"");
}
}
System.out.println("");
}
}
}
输出结果:
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
实验成绩:
(手写等级)
等级为A、B、C、D
实验总结与思考(学生)
请手工填写
实验评价(教师)
对应后面打“√”
熟练完成,实验结果正确,手册书写整齐规范
基本完成,实验结果部分正确,书写较规范
部分完成(部分没做),或书写不规范
没有做(与题目无关、空白)或不写实验总结记0分
实验名称:
Java面向对象程序设计
(一)指导教师:
唐春兰
实验仪器:
计算机
实验日期:
2016年12月3日实验地点:
第三实验楼209
实验目的:
1、掌握类的声明,对象的创建以及方法的定义和调用。
2、了解打包机制。
3、掌握类的继承。
4、了解接口的使用。
实验内容及基本要求:
1、编写一个类Dog,包括一个私有整型的成员变量weight。
Dog类中包括2个构造方法,分别为一个无参数的构造方法和一个有参数的构造方法(构造方法的内容为对weight成员变量赋初始值)。
在Dog类中为weight成员变量添加其对应的get()方法和set()方法。
在主函数中对Dog类进行测试,分别使用有参数的构造方法和无参数的构造方法创建对象。
在控制台输出显示“使用带参数的构造方法,狗的体重为:
15”、“使用无参数的构造方法,狗的体重为:
20”。
要求:
1)类名、成员变量名、方法名分别使用题目给出的英文命名;
2)程序的入口即为Dog类;
3)setWeight()的参数名为weight,数据类型与成员变量的数据类型相同;
4)Get方法要求有返回值;
5)测试时为成员变量赋值使用带有参数的构造方法以及set方法;
6)测试时获取成员变量的值必须使用get方法。
程序运行情况:
1)正确使用无参数的构造方法创建对象d1;
2)正确使用带参数的构造方法创建对象d2,并同时为weight赋初值;
3)d1使用set方法为weight赋初值;
4)分别调用d1以及d2的get()方法完成在控制台的输出。
2、编写一个类Area,此类包含2个方法,分别为f方法:
此方法为带有一个浮点型的参数且返回值类型为浮点型,功能是返回以参数为半径的圆的面积。
g方法:
此方法为带有2个浮点型参数的变量x、y,功能是返回x及y的和。
编写一个类Circle,此类继承Area类,重写其父类的f方法,功能是返回以参数为半径的圆的周长。
编写TestArea为测试类,此类为程序的入口。
定义Circle类的对象yuan,调用其f方法(实参为5.0f),把求得的结果赋给普通浮点型变量length,输出length的值;调用其g方法(实参为232.645f、418.567f),把求得的结果赋给浮点型变量sum,输出sum的值。
要求:
1)类名、方法名均为题目给出的英文命名;
2)程序的入口即为TestArea类;
3)按照给出的要求定义方法。
程序运行情况:
1)定义TestArea类的对象yuan;
2)调用yuan的f方法(返回值给length)和g方法(返回值给sum),输出length及sum的值。
实验过程及结果:
利用eclipse软件进行代码编写:
1、publicclassDog{
privateintWEIGHT;
Dog(){}
Dog(intWEIGHT){
this.WEIGHT=WEIGHT;
}
publicintgetWEIGHT(){
returnthis.WEIGHT;
}
publicvoidsetWEIGHT(intweight){
this.WEIGHT=weight;
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Dogd1=newDog();
d1.setWEIGHT(20);
System.out.println("使用无参数的构造方法,狗的体重为:
"+d1.getWEIGHT());
Dogd2=newDog(15);
System.out.println("使用有参数的构造方法,狗的体重为:
"+d2.getWEIGHT());
}
}
输出结果:
使用无参数的构造方法,狗的体重为:
20
使用有参数的构造方法,狗的体重为:
15
2、
importjava.lang.Math;
classAREA{
floatF(floatr){
floatpi=(float)Math.PI;
returnpi*r*r;
}
floatG(floatx,floaty){
returnx+y;
}}
classCIRCLEextendsAREA{
floatF(floatr){
floatpi=(float)Math.PI;
return2*pi*r;
}}
publicclassTestArea{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
CIRCLEyuan=newCIRCLE();
floatlength=yuan.F(5.0F);
System.out.println(length);
floatsum=yuan.G(232.645F,418.567F);
System.out.println(sum);
}}
输出结果:
31.415928
651.212
实验成绩:
(手写等级)
等级为A、B、C、D
实验总结与思考(学生)
请手工填写
实验评价(教师)
对应后面打“√”
熟练完成,实验结果正确,手册书写整齐规范
基本完成,实验结果部分正确,书写较规范
部分完成(部分没做),或书写不规范
没有做(与题目无关、空白)或不写实验总结记0分
实验名称:
Java面向对象程序设计
(二)指导教师:
唐春兰
实验仪器:
计算机
实验日期:
2016年月日实验地点:
第三实验楼209
实验目的:
1、掌握异常处理机制。
2、掌握自定义异常类的方法。
3、掌握常见的输入/输出流类及其主要方法。
实验内容及基本要求:
1、编写一个java程序,计算两数相除并输出结果,使用2个catch子句,分别捕捉除数为0异常和参数输入有误异常。
2、编写一个java,接收用户输入的10个整数,比较并输出最大值和最小值。
3、读下面的程序并分析输出结果。
importjava.io.*;
publicclassFileInputStreamTest
{
staticStringname="test.txt";
staticBufferedReaderbr=null;
publicstaticvoidmain(String[]args)throwsException
{
try
{
Filef=newFile(name);
FileReaderfr=newFileReader(f);
br=newBufferedReader(fr);
Stringstr=br.readLine();
System.out.println(str.toLowerCase());
}
finally
{
if(br!
=null)
br.close();
}
}
}
注:
test.txt文件中的内容:
aBcDEfG
实验过程及结果:
利用eclipse软件编写代码
1、importjava.util.Scanner;
publicclasstest1{
publicstaticvoidmain(String[]args){
Scannerscn=newScanner(System.in);
inty=0;
intx;
intnum[]=newint[1];
for(inti=0;itry{//对可能发生的异常进行判断
System.out.print("输入"+(i+1)+"个整数:
");
num[i]=Integer.parseInt(scn.nextLine());
x=num[i];
intresult=x/y;
System.out.println("计算结果:
"+result);
}catch(ArithmeticExceptione){//数学运算异常,例如除数为0
System.out.println("出现了数学异常:
"+e);
i--;}
catch(IllegalArgumentExceptione){//方法的参数错误
System.out.print("输入不正确,不是整数,请重新输入");
i--;//对不正确输入,不占用输入次数
}
}
}}
输出结果:
输入1个整数:
3
出现了数学异常:
java.lang.ArithmeticException:
/byzero
输入1个整数:
0.2
输入不正确,不是整数,请重新输入输入1个整数:
2、importjava.util.Scanner;
publicclasstest3{
publicstaticvoidmain(String[]args){
Scannerscn=newScanner(System.in);
intnum[]=newint[10];
System.out.println("输入"+num.length+"个整数");
for(inti=0;itry{//对异常进行捕获,判断是否为整数,如果不是显示输入不正确
System.out.print("输入的第"+(i+1)+"个整数:
");
num[i]=Integer.parseInt(scn.nextLine());
}catch(Exceptione){
System.out.print("输入不正确,请重新输入");
i--;//对不正确输入,不占用输入次数
}}
intmax=0,min=0;
for(inti=0;iif(num[i]>num[max]){
max=i;
}
if(num[i]min=i;
}}
System.out.println("最大值为第"+(max+1)+"个整数:
"+num[max]);
//因为max为0,所以显示max+1
System.out.println("最小值为第"+(min+1)+"个整数:
"+num[min]);
}}
输出结果:
输入10个整数
输入的第1个整数:
1
输入的第2个整数:
2
输入的第3个整数:
3
输入的第4个整数:
4
输入的第5个整数:
6
输入的第6个整数:
5
输入的第7个整数:
7
输入的第8个整数:
9
输入的第9个整数:
8
输入的第10个整数:
0
最大值为第8个整数:
9
最小值为第10个整数:
0
3、输出结果为:
abcdefg
实验成绩:
(手写等级)
等级为A、B、C、D
实验总结与思考(学生)
请手工填写
实验评价(教师)
对应后面打“√”
熟练完成,实验结果正确,手册书写整齐规范
基本完成,实验结果部分正确,书写较规范
部分完成(部分没做),或书写不规范
没有做(与题目无关、空白)或不写实验总结记0分
实验名称:
图形用户界面设计实验指导教师:
唐春兰
实验仪器:
计算机
实验日期:
2016年月日实验地点:
第三实验楼209实验目的:
1、理解AWT和Swing组件的异同。
2、理解并掌握常见容器的含义及应用。
3、理解并掌握常见布局的含义和应用。
实验内容及基本要求:
1、编写登录验证程序,设计界面如图1所示。
图1登录界面
要求:
1)在用户名要求是英文,密码为数字;
2)程序运行中,窗体在屏幕上居中;
3)程序设计采用分层设计思想;
程序运行情况:
(注:
假设用户名和密码是admin和12345才能登录成功)
1)输入用户名admin和密码12345后,单击【确定】按钮,弹出登录成功对话框,如图2所示;
图2登录成功对话框
2)当输入用户名为cvit1111后,当此文本框失去焦点后,将弹出对话框如图3所示;
图3数据验证错误对话框
3)当输入密码为a121212后,当此文本框失去焦点后,将弹出对话框如图4所示;
图4数据验证错误对话框
4)当输入为用户名cvit,密码为12345后,单击【确定】按钮,弹出登录失败对话框,如图5所示。
图5登录失败对话框
提示信息:
//设置窗体居中技术
importjava.awt.Dimension;
importjava.awt.Toolkit;
…..…..
//获得屏幕的宽和高
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
//获得当前窗体的宽和高
DimensionframeSize=this.getSize();
这两个对象的height和width属性表示高和宽。
实验过程及结果:
代码:
实验成绩:
(手写等级)
等级为A、B、C、D
实验总结与思考(学生)
请手工填写
实验评价(教师)
对应后面打“√”
熟练完成,实验结果正确,手册书写整齐规范
基本完成,实验结果部分正确,书写较规范
部分完成(部分没做),或书写不规范
没有做(与题目无关、空白)或不写实验总结记0分