运行结果如下图所表示:
(三)实训分析总结
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指明数组长度。
实训3类的封装、继承与多态性
1、编写程序,给定圆的半径和高度,计算圆柱体的体积,利用引用对象方法的形式表示。
importjava.io.*;
publicclasstj{
doubler,h;
publicdoubletiji(){
return3.14*r*r*h;
}
publicstaticvoidmain(String[]args)throwsIOException{
n));
System.out.println("请输入园的半径:
");
doubler=Double.parseDouble(in.readLine());
System.out.println("请输入园的高:
");
...
System.out.println("圆的体积是:
"+tj1.tiji());}}
运行结果如下图:
2、试设计一个Calculator类,并完成下列的各方法的程序设计:
定义add(a,b)方法,用来计算两数之和。
定义mul(a,b)方法,用来计算两数的乘积。
定义sub(a,b)方法,用来计算两数之差。
定义div(a,b)方法,用来计算a/b。
classCalculator{
doubleadd(inta,intb){
returna+b;
}
doublemul(doublea,intb){
returna*b;
}
doublesub(inta,intb){
returna-b;
}
doublediv(inta,intb){
returna/b;
运行结果如下图:
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{
…
}
Caaa(inta,intb){
this.num1=a;
this.num2=b;
}
publicvoidshow(){
System.out.println("num1="+num1);
System.out.println("num2="+num2);
}
}
classCbbbextendsCaaa{
voidset_num(){
}
publicvoidshow(){
System.out.println("num1="+num1);
System.out.println("num2="+num2);}}
publicclassshixun3_3{
publicstaticvoidmain(Stringargs[]){
Caaaca1=newCaaa();
Cbbbcb1=newCbbb();
cb1.show();
Caaaca2=newCaaa(2,5);
Cbbbcb2=newCbbb();
ca2.show();
运行结果如右图:
4、设计一个类,内含一个方法可以判别输入的值为奇数还是偶数,如果为奇数就输出“此数为奇数”,反之若为偶数就输出“此数为偶数”。
publicinta;
voidc1(inta){
if(a%2==0)
System.out.println(a+"是一个偶数");
else
System.out.println(a+"是一个奇数");
运行结果如右图:
实训分析总结:
1、什么是类?
请写出定义类的格式。
类是组成Java程序的基本要素,也是Java种重要的引用数据类型,
格式:
[修饰符]class类名[extendsSuperclassName][implementsinterfaceNameLsit]{…//成员变量声明
…//成员方法声明}
2、如何创建一个类和该类的对象?
创建类:
Publicclasstest{
Inta,b;
Publicvoidteach(){}}
创建类对象:
Testt=newtest();
3、如何使用类的成员变量和方法?
成员变量:
[修饰符]类型符成员变量名[=初始值]
成员方法:
[修饰符]类型符方法名([参数表])[throws异常名]{
…
Return(表达式);}
4、什么是方法?
方法是指对象的行为
5、什么是继承?
特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
例如,轮船、客轮;人、大人。
一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承
6、什么是封装?
封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:
把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。
信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系
实训四简单计算器模拟
实训目的:
1、熟练掌握图形用户界面的设计和各组件的应用
2、能够处理一般事件的响应
实训环境:
Windowsxp;
Jcreator
实训内容:
1、设计一个窗口,内含一个按钮,当按下此按钮的时候,窗口的颜色会从原来的白色变成其他你所设置的颜色。
publicclassbianseextendsJFrameimplementsActionListener{
JButtonbt;
JFramefrm=newJFrame();
publicbianse(){
bt=newJButton("变色");
bt.addActionListener(this);
frm.add(bt);
frm.setTitle("变色");
frm.setLocation(200,200);
frm.setSize(200,220);
frm.setVisible(true);
peration(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente){
/*floata,b,c;*/
if(e.getSource()==bt){
/*a=(float)(Math.random());
b=(float)(Math.random());
c=(float)(Math.random());*/
frm.setForeground(Color.red);
运行结果如图:
2、设计一个包含有文本框和标签的窗口,在文本框中输入一段文字,按回车后,将该段文字内容加入到标签中显示。
JFramejf=newJFrame();
JPaneljp=newJPanel();
finalJLabeljl=newJLabel();
finalJTextFieldjtf=newJTextField();
jf.add(jp);
jp.setLayout(newGridLayout(2,1));
jp.add(jl);
jp.add(jtf);
jtf.addKeyListener(newKeyAdapter(){
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==KeyEvent.VK_ENTER){
jl.setText(jtf.getText());
运行结果如图:
3、每一个Windows版本都提供了“计算器”应用程序,可以在附件里打开它,利用AWT组件创建计算器。
JFramejf;
JTextFieldjtf;
String[]b=newString[]{"+","-","*","/","."};
JButtonjis=newJButton("=");
privateinttemp=0;
privatefloatresult=0;
privatefloatfnumber=0,bnumber=0;
publicCal(){
init();
}
publicvoidinit(){
jf=newJFrame();
jtf=newJTextField();
Containerc=jf.getContentPane();//ReturnsthecontentPaneobjectforthisframe.
etHorizontalAlignment(JTextField.RIGHT);//设置文本的水平对齐方式
jtf.setLayout(newGridLayout());
c.add(jtf,BorderLayout.NORTH);//
JPaneljp=newJPanel();
jp.setLayout(newGridLayout(4,4));
c.add(jp,BorderLayout.CENTER);
JButton[]ja=newJButton[10];
JButton[]jb=newJButton[5];
for(inti=0;i<10;i++){
ja[i]=newJButton(""+i);
ja[i].addActionListener(this);
}
for(intj=0;j<5;j++){
jb[j]=newJButton(""+b[j]);
jb[j].addActionListener(this);
}
for(inti=0;i<10;i++){
jp.add(ja[i]);
}
for(intj=0;j<5;j++){
jp.add(jb[j]);
}
jp.add(jis);
jis.addActionListener(this);
jf.setSize(200,300);
jf.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
Strings=e.getActionCommand();
if(s.equals("+")){
this.fnumber=Float.parseFloat(this.jtf.getText());
this.jtf.setText("");
this.temp=1;
}
elseif(s.equals("-")){
this.fnumber=Float.parseFloat(this.jtf.getText());
this.jtf.setText("");
this.temp=2;
}
elseif(s.equals("*")){
this.fnumber=Float.parseFloat(this.jtf.getText());
this.jtf.setText("");
this.temp=3;
}
elseif(s.equals("/")){
this.fnumber=Float.parseFloat(this.jtf.getText());
this.jtf.setText("");
this.temp=4;
}
elseif(s.equals(".")){
if(jtf.equals("")){
jtf.setText("0.");
}
else{
jtf.setText(jtf.getText()+".");
}
}
elseif(s.equals("=")){
this.bnumber=Integer.parseInt(this.jtf.getText());
switch(this.temp){
case1:
result=fnumber+bnumber;
this.jtf.setText(String.valueOf(result));
break;
case2:
result=fnumber-bnumber;
this.jtf.setText(String.valueOf(result));
break;
case3:
result=fnumber*bnumber;
this.jtf.setText(String.valueOf(result));
break;
case4:
result=fnumber/bnumber;
this.jtf.setText(String.valueOf(result));
运行结果如图:
实训分析总结:
1、什么是布局管理器,它有什么用?
布局管理器:
每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器
布局管理器主要包括:
FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout
作用:
主要是对组建的位置和大小进行管理。
2、说明文本区和文本框的主要不同点。
文本区多行显示,可加滚动条,文本框单行显示,不能加滚动条
实训五扩展—Java和JSP编写要点练习
实训目的:
1、理解JSP运行环境要求。
2、掌握JSP建立与测试开发环境的方法
3、了解j2ee
实训环境:
Windowsxp;
Jcreator
Eclipse+Tomcat+Access
实训内容:
1、输入密码显示*号
表单控件(FormControl):
密码输入框(inputtype="password")
密码输入框(inputtype="password")主要用于一些保密信息的输入,比如密码。
因为用户输入的时候,显示的不是输入的内容,而是*符号。
例句如下:
练习2