Java教学实习报告最终版Word格式文档下载.docx
《Java教学实习报告最终版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java教学实习报告最终版Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
查看操作系统环境变量。
第五步:
设置环境变量及path环境变量的作用和设置。
1.编辑源文件
文本编辑
importjava.io.*;
publicclassHelloWorld1{
publicstaticvoidmain(Stringarg[]){
System.out.println("
Helloworld!
"
);
}
}
运行结果如下图所示:
实训2Java基础-控制语句使用实例
1、熟练掌握Java语言中的三种基本的流程控制
2、能够读懂一般流程控制的实例
3、理解数组的概念
4、掌握数组的定义方法
5、掌握数组的应用
1、随机输入3个数,要求按降序排列。
publicclassRandom{
inta,b,c;
if(a>
b){……}
if(a<
else{……}
……}
运行结果如下图所示:
2、编写程序,用循环语句列出1到10的阶乘值。
publicclassJieCheng{……{
intf=1,i=1;
while(i<
=10){……}
}}
结果如下图所示:
3、编写程序显示一年的月份。
月份要保存在数组中。
publicclassYue{
publicstaticvoidmain(String[]args){
String[]monthName={"
……"
};
for(inti=0;
i<
monthName.length;
i++)
第"
+(i+1)+"
月为:
+monthName[i]);
4、定义一个二维数组,从键盘输入数据,要求求出最大值元素、最小值元素。
publicclassShuzu{
publicstaticvoidmain(Stringargs[]){
intx[][]={{2,6,8,9},{55},{6,9,8,18},{5,60,65}};
intmax=0;
intmin=0;
for(inti=0;
x.length;
i++)
{for(intj=0;
j<
x[i].length;
j++)
{max=x[0][0];
if(max<
x[i][j])
{max=x[i][j];
else{min=x[i][j];
}}
System.out.println("
二维数组的最大值是:
"
+max);
二维数组的最小值是:
+min);
运行结果如下图所表示:
三、实训分析总结:
1、三种循环语句的数据流程图如何执行?
2、三种循环语句的语法格式。
while循环语句是当型结构,它的语法格式是:
[initalization]
While(loop-condition){
Body;
[iteration;
]
for循环语句是当型结构,在几种循环语句的使用中最为灵活,语法格式是:
for([initialization];
[loop-condition];
[iteration]){
body;
break语句的作用是终止包含break语句的程序块,语法格式为:
break[label]
3、什么是数组元素,数组下标?
数组是由相同的数据类型的数据类型按顺序组成的数据集合。
数据中的每个数据元素可以用一个统一的数组名和下标来唯一地确定。
数组分为一维数组和多维数组;
4、数组的定义形式(声明,空间的分配)。
Java中数组的声明格式为:
TypearrayName[];
或type[]arrayName;
其中type(数据类型)可以为java中任意的数据类型,包括基本数据类型和对象类型,arrayName(数组明)为一个合法的标识符,[]指明该变量是一个数组类型变量。
数组的空间分配:
Java在数组的声明时并对不为数组元素分配内存,因此在[]中不用指出数组中元素的个数,既数组长度。
格式:
arrayName=newtype[arraySize];
其中arraySize指明数组长度。
实训2类的封装、继承与多态性
1、理解类、封装、继承多态的概念。
2、掌握类的对象的创建和使用。
3、理解方法的概念。
4、掌握方法的调用,参数的传递。
5、熟练掌握类的继承。
1、编写程序,给定圆的半径和高度,计算圆柱体的体积,利用引用对象方法的形式表示。
classYuan{
doubler,h;
doubletiji(){
return3.14*r*r*h;
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));
doubler=Double.parseDouble(in.readLine());
……
Yuanyuan=newYuan();
yuan.r=r;
yuan.h=h;
圆柱体的体积为:
+yuan.tiji());
}}
2、试设计一个Calculator类,并完成下列的各方法的程序设计:
定义add(a,b)方法,用来计算两数之和。
定义mul(a,b)方法,用来计算两数的乘积。
定义sub(a,b)方法,用来计算两数之差。
定义div(a,b)方法,用来计算a/b。
publicclassCalculator{
inta,b;
Calculator(inta,intb){
this.a=a;
this.b=b;
intadd(){returna+b;
……
publicstaticvoidmain(Stringargs[]){
Calculatorca=newCalculator(8,4);
a+b="
+ca.add());
……}
3、请逐步完成下列的程序设计:
(a)、设计一个父类Caaa,内含public两个整数数据成员。
(b)、设计一个子类Cbbb,继承自Caaa类,并加入set_num()方法,可用来赋值从父类继承而来的成员num1,num2,和show()方法,用来显示num1与num2的值。
(c)、在Caaa类里加入一个没有参数的构造函数Caaa(),它可用来把num1和num2赋值初值为1。
(d)、在类里加入另一个有参数的构造函数Caaa(inta,intb),它可用来把num1赋值为a,把num2赋值为b。
(e)、在main()方法里编写程序代码,测试(c)和(d)的结果。
classCaaa{
publicintn1;
n2;
publicCaaa(inta,intb){
this.n1=a;
this.n2=b;
publicCaaa(){
this.n1=1;
classCbbbextendsCaaa{
publicvoidset_num(){}
publicvoidshow(){
n1="
+this.n1);
n2="
+this.n2);
}}
classCccc{
CaaamCa=newCaaa();
mCaa.show();
}}
4、设计一个类,内含一个方法可以判别输入的值为奇数还是偶数,如果为奇数就输出“此数为奇数”,反之若为偶数就输出“此数为偶数”。
publicclassPd{
intm;
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
m=(int)(Math.random()*100);
请输入一个数值:
if(m%2==0){
您好!
您输入的数是:
+m+"
此数为偶数!
else{
此数为奇数"
}}}
三、实训分析总结
1、什么是类?
请写出定义类的格式。
类是组成java程序的基本要素,也是java中重要的引用数据类型。
定义类的基本格式:
[修饰符]class类名[extendsSuperclassName][implementsinterfaceNameList]{
…//成员变量声明
…//成员方法声明}
2、如何创建一个类和该类的对象?
Classstudent{……}//创建类
Students=newStudent();
//创建类的对象
3、如何使用类的成员变量和方法?
在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止其他类的访问。
如在成员变量或者成员方法前面,加上Private关键字,则其他类就无法调用这个类中的成员方法或则和成员变量。
但是,在成员内部类中可以随意引用外部类的成员方法以及成员变量,即使这些类成员方法或者成员变量被修饰了private.如在成员外部类中定义了一个i变量,并且利用private关键字来修饰。
此时在其他类中是不能够引用这个私有成员变量的。
但是这个类的成员内部类的方法中,则不仅可以引用这个外部类的私有变量,而且还可以对其进行赋值等操作。
这个赋值操作对于外部类也是有效的。
即成员内部类可以更改外部类中私有变量的值
4、什么是方法?
定义的一般格式如下:
setName()
其中,setName是方法名,它必须使用合法的标识符。
说明方法返回值的类型。
如果方法不返回任何值,它应该声明为void。
表中各元素间以逗号分隔,每个元素由一个类型和一个标识符组成。
表示方法体,是要实际执行的代码段。
5、什么是继承?
Java继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要.6、什么是封装?
封装就是在原来的基础上进行又一次封装添加一些自己的内容。
比如对某些类的继承或者实现以后加进自己的逻辑就是封装了。
保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>
数据封装。
封装就是将属性私有,用来保护类中的数据,外界不能直接访问到你的属性,而是通过公有的方法来访问这个类。
实训4简单计算器模拟
1、熟练掌握图形用户界面的设计和各组件的应用
2、能够处理一般事件的响应
1、设计一个窗口,内含一个按钮,当按下此按钮的时候,窗口的颜色会从原来的白色变成其他你所设置的颜色。
importjava.awt.*;
publicclassBsextendsFrameimplementsActionListener{
Framejf=newFrame();
……
publicvoidinit(){
jf.setLayout(newBorderLayout());
bt.addActionListener(this);
……}
publicvoidactionPerformed(ActionEvente){
floata,b,c;
if(e.getSource()==bt){
a=(float)(Math.random());
……
jf.setBackground(newColor(a,b,c));
}}
Bsbian=newBs();
bian.init();
2、设计一个包含有文本框和标签的窗口,在文本框中输入一段文字,按回车后,将该段文字内容加入到标签中显示。
publicclassMyfrm{
publicstaticvoidmain(Stringargs[]){
JFramejf=newJFrame();
jf.add(jp);
jp.setLayout(newGridLayout(2,1));
jp.add(jl);
jtf.addKeyListener(newKeyAdapter(){
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==KeyEvent.VK_ENTER){
jl.setText(jtf.getText());
}}});
jf.setVisible(true);
}
}运行结果如下图所表示:
3、每一个Windows版本都提供了“计算器”应用程序,可以在附件里打开它,利用AWT组件创建计算器。
importjava.awt.*;
publicclassJsq{
publicstaticvoidmain(String[]args){
CalculatorFramefrm=newCalculatorFrame();
……frm.setVisible(true);
classCalculatorFrameextendsJFrame{
publicCalculatorFrame(){
CalculatorPanelpanel=newCalculatorPanel();
add(panel);
pack();
classCalculatorPanelextendsJPanel{
privateJButtondisplay;
publicCalculatorPanel(){
setLayout(newBorderLayout());
result=0;
lastCommand="
="
;
start=true;
display=newJButton("
0"
ActionListenerinsert=newInsertAction();
ActionListenercommand=newCommandAction();
jp=newJPanel();
jp.setLayout(newGridLayout(5,4));
addButton("
7"
insert);
privatevoidaddButton(Stringlabel,ActionListenerlistener){
JButtonbt=newJButton(label);
bt.addActionListener(listener);
jp.add(bt);
privateclassInsertActionimplementsActionListener{
……
if(start){
display.setText("
start=false;
display.setText(display.getText()+input);
privateclassCommandActionimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
Stringcommand=event.getActionCommand();
if(command.equals("
-"
)){……
display.setText(command);
}else{
lastCommand=command;
calculate(Double.parseDouble(display.getText()));
publicvoidcalculate(doublex){
if(lastCommand.equals("
+"
))result+=x;
elseif(lastCommand.equals("
))result-=x;
+result);
}}
1、什么是布局管理器,它有什么用?
JAVA的界面布局原理:
因为Java是跨平台语言,使用绝对坐标显然会导致问题,即在不同平台、不同分辨率下的显示效果不一样。
Java为了实现跨平台的特性并且获得动态的布局效果,Java将容器内的所有组件安排给一个“布局管理器”负责管理,如:
排列顺序,组件的大小,位置等,当窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理器来管理,不同的布局管理器使用不同算法和策略,容器可以通过选择不同的布局管理器来决定布局。
2、说明文本区和文本框的主要不同点。
文本区可以输入多行文字,并可以加上滚动条。
文本框只能单行输入,不能接上滚动条。
实训5扩展—Java和JSP编写要点练习
1、理解JSP运行环境要求。
2、掌握JSP建立与测试开发环境的方法
3、了解j2ee
1、链接到指定的email地址
在网站中,你经常会看到“联系我们”的链接,一点击这个链接,就会触发你的邮件客户端,比如OutlookExpress,然后显示一个新建mail的窗口。
用<
a>
可以实现这样的功能。
<
ahref="
mailto:
07gw@"
>
联系我们<
/a>
代码如下:
html>
title>
链接<
/title>
styletype="
text/css"
body
{background:
#ffff00;
}//设置背景颜色
/style>
body>
这是一个最简单的邮箱地址链接:
<
给08gylx发信<
p>
这个邮箱地址的链接写了subject的内容:
给08gy站长发信<
/p>
/body>
/html>
运行结果如下图:
(2)学生管理系统的实现
Connection12.java代码如下:
importjava.sql.*;
publicclassConnect12
{staticStringJDriver="
sun.jdbc.odbc.JdbcOdbcDriver"
staticStringconURL="
jdbc:
odbc:
xsgl"
staticConnectioncon=null;
//声明Connection类的类变量
publicstaticbooleanconn(Stringurl){
try{//加载JDBC-ODBC桥驱动程序,使用Class.forName方法显示加载}
try{//创建连接类Connection对象,建立与数据库的连接}
publicstaticbooleanclose(){//关闭各个对象
try{con.close();
con=null;
}catch(SQLExceptione){e.printStackTrace();
returnfalse;
returntrue;
publicstaticvoidmain(String[]args)
{if(conn(conURL)){
数据库连接成功!
close();
else
数据库连接