|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
第六章 方式 1.方式的调用:a 对象引用后跟一点(.)操作符和方式名 b 类名后跟方式名(这种形式只适用于类的static方式) 2.将基本数据类型值转变为另一个基本数据类型时,java会提升较低的数据类型,假如这种转变不是提升,则可能改变数据的值。此外,把整型转变为浮点型再转变回整型可能会引入舍如误差。 3.实例分析:碰运气游戏。 import java.awt.*;//java抽象窗口工具包。其中含有创建和操纵图形用户界面所需的类和接口 import java.awt.event.*;/*java抽象窗口工具包。其中含有用于java.awt和javax.swing包中GUI构件的事件处理的类与接口*/ import javax.swing.*;/*java Swing GUI构件包,它含有支持可移植GUI的java Swing GUI构件的类与接口*/ public class Craps extends JApplet implements ActionListener{/*类Craps继续Japplet并实现ActionListener。一个类可以实现一个或几个接口。*/ final int won=0,lost=1,CON=2;/*final要害字声明常数变量,常数变量必须在使用前被初始化一次,并且不能被修改,又称命名常数或只读变量。*/ boolean firstRoll=true; int sumofDice=0; int mypoint=0; int gameStatus=CON; JLabel die1Label,die2Label,sumLabel,pointLabel; JTextField firstDie,secondDie,sum,point; JButton roll; public void init() { Container c=getContentPane(); c.setLayout(new FlowLayout());/*使用Container的方式setLayout为applet的用户接口定义布局治理器。FlowLayout是最基本的布局治理器,GUI构件通过方式add按照从左到右的顺序放在面板上,当达到面板的边缘时,转到下一行。每一个Container一次只能有一个布局治理器*/ die1Label=new JLabel("Die1"); c.add(die1Label); firstDie=new JTextField(10); firstDie.setEditable(false); c.add(firstDie); die2Label=new JLabel("Die2"); c.add (die2Label); secondDie=new JTextField(10); secondDie.setEditable(false); c.add (secondDie); sumLabel=new JLabel("sum is"); c.add(sumLabel); sum=new JTextField(10); sum.setEditable(false); c.add(sum); pointLabel=new JLabel("point is"); c.add(pointLabel); point=new JTextField(10); point.setEditable(false); c.add(point); roll=new JButton("Roll Dice"); roll.addActionListener(this);//要害字this使applet引用自身,给该Button添加事件 c.add(roll); } public void actionPerformed(ActionEvent e)//当Button被触动时调用此方式 { play(); } public void play() { if (firstRoll){ sumofDice=rollDice(); switch(sumofDice){ case 7:case 11: gameStatus=won; point.setText(""); break; case 2:case 3:case 12: gameStatus=lost; point.setText(""); break; default: gameStatus=CON; mypoint=sumofDice; point.setText(Integer.toString(mypoint)); firstRoll=false; break; } } else{ sumofDice=rollDice(); if(sumofDice==mypoint) gameStatus=won; else if(sumofDice==7) gameStatus=lost; } if(gameStatus==CON) showStatus("Roll Again"); else{ if(gameStatus==won) showStatus("player Wins."+ "Click Roll Dice to play again."); else showStatus("player lost."+ "Click Roll Dice to paly again."); firstRoll=true; } } public int rollDice() { int die1,die2,worksum; die1=1+(int)(Math.random()*6); die2=1+(int)(Math.random()*6); worksum=die1+die2; firstDie.setText(Integer.toString(die1)); secondDie.setText(Integer.toString(die2)); sum.setText(Integer.toString(worksum)); return worksum; } } 4.java可以定义几个同名的方式,只要这些方式具有不同的参数集合(参数的数量、类型和次序),这称为方式重载。重载的方式是根据署名(即方式名及其参数类型的组合),重载的方式可以有不同的返回值类型,但一定要有不同的参数表。此外,重载的方式并不需要一样数量的参数。 第七章 数组 1.数组要占据内存空间,需要使用new运算符为数组分配内存空间。如:int c[ ]=new int[12] 或:int c[ ]; c=new int [12];为数组分配内存空间后,数值型基本数据类型的数组元素自动被初始化为0,boolean类型的变量被初始化为false,引用则被初始化为null。注:与C、C++不同,java不答应在数组后面的方括号内指定数组元素的个数。 当声明一个数组是,数组的类型和方括号可以在声明的开始出结合起来使用,表示声明重点的所有标识都表示数组。如:double[ ] array1,array2。 在数组声明重可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组的大小由初始表中的数据个数决定。如:int tn[ ]={10,20,30,40,50} 2.与其他语言不同,java不答应编程人员采用值调用或引用调用来传送每个参数。基本数据类型总是采用值调用。不能把对象传递给方式,而只能传递对象的引用。引用本身也是采用值调用。当一个方式接受对象的引用后,它就可以直接操纵对象。 3.由于数组被java看作对象,数组就以引用调用的方法传递给方式――被调用方式能访问调用者的原来数组中的元素,调用方式将修改数组中的元素。 但是单个基本数据类型的数组元素仍以值调用的方法传递。 返回类别: 教程 上一教程: 使用JAVABEAN创建您的网上日历本(1) 下一教程: 一个在JSP下实现将动态页面转为静态的方案 您可以阅读与"JAVA HOW TO PROGRAM(THIRD EDITION)-我的JAVA手记(二)"相关的教程: · JAVA HOW TO PROGRAM(THIRD EDITION)-我的JAVA手记(三) · Java how to program(Third Edition)??我的java手记(三) · Java how to program(Third Edition)??我的java手记(五) · JAVA HOW TO PROGRAM(THIRD EDITION)-我的JAVA手记(五) · JAVA HOW TO PROGRAM(THIRD EDITION)-我的JAVA手记(四) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |